Looking at the screenshot above, you’d be forgiven for thinking that redundancy exists on some of the controls available on the Article entity however when considering extensibility it may not be such a good idea to remove one of the above controls.
As components are added to a system such as exposing the CRM environment through a portal, existing solutions may already have controls that mimic the same functionality in a similar way, however careful analysis should be taken to ensure the right decision is made to keep or remove any ‘redundancy’.
‘Internal Use Only?’ already exists, and is used to determine which Articles are customer facing and staff facing.
‘Publish to Web’ is the new control, which determines whether the portal user should be able to see or search for the Article via the portal.
At first it seems obvious. ‘Internal Use Only?’ is a control so that staff know not to show the Article to customers, so why is ‘Publish to Web’ needed? If you think in terms of the future of the system it is entirely viable to have both controls, and here is why.
1. The accessibility of the portal implementation can more often than not far succeed the accessibility of using the CRM via most devices, especially tablets and mobiles by using frameworks such as Twitter Bootstrap.
2. If the CRM environment set up is located on site rather than online, the portal can be a suitable place for staff to access the CRM data outside of the workplace without having to rely on the network.
3. As the portal has the ability to cache data the portal can still function in the majority of areas even when the CRM environment is down. (I have personally carried out tests that allow me to submit data back to the CRM via a portal even when the CRM is inaccessible!).
4. It is likely that the portal will be branded to reflect the image that the rest of the company’s digital media want to portray, if staff use this off site, this gives a good impression to the client when using what feels like an integrated system opposed to looking at a third party product such as Dynamics CRM.