FORUM PLAN UPDATE: Date revision: This forum will remain open to new posts and responses until December 1, 2018. (After that date, you will still be able to view and search the forum.) Also, we're taking a second look at the best place to host future conversation. For now, keep using this forum, and stay tuned for more news.
RE: Profile Document Make-up Rich Schwartz 11.Jul.18 11:57 PM a Web browser Applications Development All ReleasesAll Platforms
It's not well documented. It comes down to the fact that at the low level, one set of Notes API calls is used to create and update profile documents, and a different set of Notes API calls is used to create and update regular documents - which are also known as "data notes".
Note that a form doesn't "morph into" a profile document any more than it morphs into a regular document. A form is just a design element that is used for presentation purposes. The Notes client uses forms for constructing the UI for both regular and profile documents, but it uses NSFNoteCreate, NSFNoteOpen and NSFNoteUpdate for accessing regular documents and it uses NSFProfileOpen and NSFProfileUpdate for accessing profile documents. The rest is "magic" for all intents and purposes. I.e., the view indexer and the NSFSearch API can't see any notes that were created via NSFProfileOpen, and NSFProfileOpen can't find any notes that weren't created via NSFProfileOpen. The root of that magic is that NSFProfileUpdate adds the noteId of the profile note to one data structure in the NSF file which is optimized for cached access via the profile name and user id, and NSFNoteUpdate adds the noteId of a data note to a different data structure that is optimized for constructing views and searching on summary data.
You can't simply convert between the two, but you can copy one into the other, in either direction by writing the appropriate code.