Dynamics 365 portal is one of my favorites in Dynamics 365 applications. Dynamics Portals are easy to understand, easy to setup and easy to implement and simultaneously they are very powerful and flexible at the same time. I have been part of several portal projects in the past couple of years and learned so many things from blog posts, community questions/answers and my own. I would like to share my journey of implementing portal projects with you. The way I am going to take you through this journey will be different. I aim to create a multi part blog series which enables any architect/consultant/developer to understand what common requirements in many portal projects are and how you can implement them. While working on projects, I faced many issues and read blogs and community posts repeatedly. Sometimes, I was thinking why all these aren’t documented somewhere so I can follow the document like a journal; but I think the answer is simple. I had to document all these for others and sum all contents up in form of a scenario-based blog series which you will be reading now. I will be explaining scenarios followed by the way I implemented the scenario or found the answer to scenario. Some answers are short and some many include code whereas some may be only explanations. I am not going to repeat the available content in the community but rather, I will focus on what is NOT there in community. Your feedback, questions and suggestions are always welcome! So, Let's gear up and start our journey.
Scenario 1: Project Planning, Analysis and Design
What do we need to start a Dynamics 365 Portal project?
For a portal project, we will need a team first. Team size does not matter if we have the following skills in our team. So, anyone who can perform the following jobs can be part of our team. Sometimes one person can do all and sometimes we need one person per area:
- Dynamics CRM Solution Architect/Functional Consultant with knowledge of how to configure forms, create views, add/remove fields and work with solutions
- Dynamics 365 Solution Architect/Developer who can write code. This resource is required only when you want to implement features which cannot be done by configuration. In my experience even in small projects there are high chances that you will need to write code to meet certain requirements, so it is always a good idea to learn how to write custom actions and plugin.
Analysis and Design sessions are mainly required for the below work items:
- Portal Registration use cases (This will include anything from creating and sending invitations to password complexity)
- Portal pages (This will include Interfacing CRM forms and grids to portal pages, page contents, navigation, header and footer design)
- Portal forms (This will include designing any multi-step form like business process in portals)
- Portal Security (This will include the roles to publish and see content to defining role-based access to pages)
- Portal UI design (This will include fonts, color scheme, themes, shape of buttons etc.)
- Make sure you allocate enough time for analysis, design, development, test and deployment in your project.
- Portals are highly configurable, and you can do a lot of the flexibility offered by portals; however, everything is not configuration. You will need to write client-side code to validate data and you will need to backup client-side validation with server-side validations using liquid templates or workflows.
- In my experience, for a small project with 5 pages, 2 entity forms, 2 entity list and 2 simple roles, plus website branding you will need 40 to 50-man days. So, you will need ensure that you have thought of required work items to be completed.
- Ensure to include some learning and research time in your project. In every project, there is a point where you hit the wall and you will need to allocate enough time to recover. Specially if you are not expert in client side coding, liquid templates and etc. you will need to include 10% time for such cases.
In the next post, I will start writing a small manual about implementing typical requirements of a portal.