At Engineered Code, we specialized in building web portals. Web portals give users more functionality that just a traditional website; one of the most common scenarios is a portal allowing customer to submit and manage support tickets. Companies and their customers both love portals because they give users the ability to self-serve.
There are countless different technologies and frameworks on which to build a web portal. In this post I’ll go through some of the ones that we use, and I’ll let you know what we love, and what we don’t, about each one of them.
Microsoft Dynamics 365 Portals
Originally built by Adxstudio (full disclosure, a former employer of mine), Microsoft acquired the product in 2015. These portals use Dynamics 365 (formally Dynamics CRM) as the foundation; all data is stored within the CRM.
For Dynamics 365 Online customers, Microsoft provides a Software-as-a-Service (SaaS) offering where they host the portal. Your first portal instance is included with your subscription; you only need to pay if you need more portals (for development purposes, or if you need more than one type of portal).
For Dynamics 365 On-premise customers stayed tuned; Microsoft’s recent announcement that they are releasing the source code for Portals could mean we’ll soon have a good solution for that as well.
What We Love
- Many common portals are pre-built, and require little to no customization, including customer support and partner portals.
- The Entity Lists and Entity Forms capabilities make it possible to build web applications without writing a line of code.
- Liquid and jQuery support mean many requirements can be met without server-side code.
- For projects that require a bit more customization, we are able to write web services to interact with CRM (or other systems), and interact with those web services directly from the portal using AJAX.
If you are already using Dynamics 365/CRM, then using the out-of-the-box portals makes sense. It keeps all of your data in one place, and if you’re using the online version your first portal is free.
If your business isn’t already using a CRM, chances are we could make a good argument that it should be. Dynamics 365 is a great option; it’s very customizable and integrates well with the other Microsoft products, especially Office.
What We Don’t
- Lack of support for creating or updating data, except via Entity Forms or external web service
- If you don’t plan on using Dynamics 365 as your CRM, then this isn’t the platform for you. The license fees (hundreds of dollars per month) can be better spent elsewhere if you’re not using the CRM capabilities.
- The learning curve for developers on this platform can be a bit steep and the documentation isn’t quite where we’re like it to be. We work with a lot of Microsoft partners who struggle with their first implementations because of this.
Business Catalyst
Business Catalyst is a SaaS Content Management System (CMS) platform acquired by Adobe in 2009 from an Australian company. It’s marketed at digital agencies and marketing professional as an easy to use CMS that doesn’t require a ton of technical knowledge. It includes features like e-commerce, digital marketing, and of course, web portals.
What We Love
- It’s SaaS, so we don’t have to worry about hosting; and in our experience the platform has been solid with very limited outages.
- The pricing is very competitive; plans start at just over $10 USD, and go up to around $80 USD per month.
- The Web App model makes it very easy for even non-developers to create simple web applications.
- Liquid support provides lots of flexibility.
What We Don’t
- The lack of server-side code makes more complex scenarios difficult, especially with large data sets.
- We often have to rely on undocumented features to update or create data.
WordPress
The world’s most popular CMS started off as a blogging platform, but now does so much more.
What We Love
- Cost: WordPress itself is free, so your costs are usually limited to hosting, purchasing a theme, or plugins. All of which are usually cheap if you can’t use the free options.
- 1000s of Plugins: if there isn’t a plugin to do exactly what you’re looking for, there is usually something close that you can use as a starting point.
- Since we can write custom PHP code there really aren’t any requirements that can’t be met with WordPress.
What We Don’t
- 1000s of Plugins: the number of plugins can be overwhelming; sometimes too much choice is a bad thing. Also, it means there are a lot of different ways of accomplishing the same task; when we take on a customer with an existing WordPress site it can take a while to figure out exactly what’s going on.
- While in many ways it’s nice that there are frequent updates, if you’ve got a lot plugins installed it can be a bit challenging to make sure they all remain compatible with the current version of WordPress.
Drupal
Drupal is an open-source enterprise-level CMS built in PHP.
What We Love
- Being able to write custom PHP code within Drupal’s plugin framework means pretty much any custom requirement can be met.
- For customers requiring a sophisticated CMS, including complex workflow and permissions model, we find that Drupal is a better fit than WordPress.
- Since it’s open source, having access to all the source code makes it easy to debug any issues that we discover.
What We Don’t
- When starting new projects, we always prefer to start with the latest version of a project; it avoids having to spend time on future upgrades. Unfortunately, the current version of Drupal 8 is not nearly as well documented as Drupal 7. We’ve found that the Drupal community has been a bit resistant to undergo the upgrade process; many people are still using Drupal 7 and plan to continue with it for a while.
Custom PHP Code
It is of course possible to write an PHP application without relying on an third-party platform. However, there is typically a lot of heaving lifting required to get a project off the ground. For example, there is nothing built into PHP for user authentication, so you either have to write something yourself, or rely on a third-party library. Since there are open-source platforms like Drupal or WordPress that provide these types of features out-of-the-box, we will typically use them as a framework even if the CMS capabilities aren’t required.
Custom .NET Code
We find that, unlike PHP, .NET includes many of the base functionalities required to get a web portal project off the ground (like user authentication). Therefore, in cases where .NET is the preferred framework for server-side code, and the project does not involve Dynamics 365, writing a custom .NET portal is a viable option.
Leave a Reply