CRM day 1 : Some simple ideas explained
Today I will not actually program any stuff, but i will layout some basic stuff on paper this blog.
First draft :
I will start from the default object properties :
DefaultObjectProps :
- id : unique identifier
- description : text description (for dropdownlists etc)
- created : date of creation
- created by : user
- modified : date of last modification
- modified by : user
Then the default act_as_props
DefaultActAsProps < DefaultObjectProps
- Parent (id, type)
ActAsSecured < DefaultActAsProps
- OwnerUser : user
- OwnerGroup : group
- UserRights,GroupRights,AnonymousRights : CRUD bools
- implements :
- bool Allow Read (type,int id)
- bool Allow Write (type,int id)
- bool Allow Create (type,int id)
- bool Allow Update (type,int id)
ActAsTree < DefaultActAsProps
ActAsPageable < DefaultActAsProps
ActAsSortable < DefaultActAsProps
ActAsFilterable < DefaultActAsProps
ActAsTaggable < DefaultActAsProps
ActAsSchedule < DefaultActAsProps
ActAsCommentable < DefaultActAsProps
ActAsRule < DefaultActAsProps
ActAsFileContainer < DefaultActAsProps
An object instance can be represented in two ways
- PresentAsRow : Object row view
- PresentAsForm : Object Form view
These rowpresenters will be used in a form. The default form view will be modified by the act-as modules
For example :
- If an object implements ActAsTree, the grid can be modified into a treeview
- If an object implements ActAsTaggable, each object can be tagged
- If an object implements ActAsSchedule, the objects can be shown in a calendar view
- ...
I hope you get the idea from these examples...
That is it for today... See you again tomorrow...