Lets go through some use cases for business objects. Currently we only support non-encrypted objects in this version, so when we Add a business object, all of biblepay can see it (from a hacker standpoint) and any IPFS node can see it (if they decipher the JSON and know how to hack into the local database). In the future, we can support encrypted business objects, which would only be viewable from someone within your organization. In the future we would also be able to honor the RWAD permissions per user per organization.
So lets start with what we can do now. Please go to your Contact Add page from the menu. The primary key of a contact record is One labeled wallet public key (we automatically create a wallet public key and label it BUSINESS_OBJECTS in the address book). So this means if you Edit an existing Contact record, it will be Updated by physically deleting the old one, and saving a new one with the primary key - IE Your public receiving address + CONTACT. So there won't be duplicates and we will have One contact per wallet.
Go ahead and add a contact record to the chain, but most importantly fill out a working e-mail address (as I want to demo that feature). Save the record. (You can add a contact by Clicking Add Contact from the top menu).
After a few confirms you can type 'exec bolist contact' to see if your contact record is publically viewable. What we can do with this is: make a wallet UI (ie a grid for a list), in a generic way, to allow a user to view a list of that type of business object (and search the list in the future). We can map these users on our great tribulation map. We can send biblepay to each other via e-mail address. We can work with MIP to make a tithing feature now (a congregation can tithe to a registered church).
After a while you can also test an edit. To edit a contact, go back to contact add and change one the fields, and re-save the record. The system will realize its an edit and save it appropriately. For GDPR we also support physical Deletion of a record.
Next we can test the business object search feature. You can search by type, fieldname and field value currently. Type 'exec bosearch contact email
[email protected]', and the system will locate all contacts with a field named email with a field value of my e-mail address and add them to the results list and display them.
Next, if you want to test sending bbp via e-mail address, type: exec emailbbp
[email protected] 5, and feel free to replace the amount (5) and the recipient e-mail. The wallet will locate the contact record and send the amount.
I also want to point out that although it appears we created a 'contact' feature, you should look at business objects from a generic perspective. Contact is one type of business object with a UI. If we make this as generic and abstract as possible, we could really make a powerful front-end system here, by making UI based on generic business objects - another words, we don't have to create 70 pages of UI to make a powerful system. We can create add/edit/view abilities for business objects, that provide manipulation and UI for both form based and list based presentations, another words, it would be easy to support as the data is serialized in a common format in the back end, and presented in a common way in the front end.