You do not have to know how the portal works to be able to use it. However, if you're considering developing applications using it, or are just curious, this section contains a brief introduction.
Nodes
All the data in the portal is held as nodes. Each node is a chunk of data, possibly with some processing or behaviours attached.
Each page in the portal is created by displaying a node, and each node can be shown as a page.
Nodes have references which are used to create the page URLs. The references arrange nodes into a hierarchy - like a folder structure on your PC. This is used to represent application structures and data structures within the portal.
Node types and fields
Each node has a node type. The node type lists fields that define what data the nodes will hold. The node type and fields also control how the data will be displayed.
The node types and the fields can be associated with scripts which add functionality to the data. Scripts can be used for lots of different things, like validating data, building output for the user and running business logic. Scripts can be used to calculate data, and the the portal has special processing to make sure that calculated data is always up-to-date when the data that it depends on is changed, in the same way that spreadsheets automatically recalculate totals when the data changes.
Although nodes can have scripts, most development does not need them, and just involves creating and linking data. Imporantly, what scripts there are live inside the data, rather than separately from the data, and are automatically applied when that data is used. The overall application structure and functionality is fully defined in data, an approach we call data-driven.
Node types and fields are nodes too
Node types and fields are also nodes, and they themselves have node types with fields.
Node types and field types can be maintained in the portal like any other data. This means that you can create new solutions directly online in the portal without using a separate development environment. The portal provides developer-friendly capabilities including an integrated development environment, code editors and test harnesses. However, these are completely built into the portal, not separate tools.
Changing how you define things
This is the clever bit.
Because node types and fields are nodes, and because you can use scripts to calculate data, you can change how you define node types and fields.
To give a simple example, the underlying data just stores simple strings, and the standard field lets you enter any text you like.
But you might want a field where the user picks a value from a drop-down list. You could build one field like this using the scripts attached to the fields. But you can, instead, build a node type that uses the data calculation features to create fields with all these scripts built in, and which lets you enter the drop-down field values. You can now use that node type to create fields with drop-downs.
This flexibility means that the portal can provide a rich set of components, that can be combined quickly to build all manner of applications. Building applications is just a matter of definining data - an approach we call data-driven development - rather than writing lots of code.
The portal comes shipped with hundreds of components for creating applications, covering all manner of requirements from simple field definitions, table handling, file and image processing, process management, and so on and so on. Even the development tools in the portal are just specialised node types.
This approach means that the portal can be whatever you need it to be. If you are creating a website, it can be a content management system. If you are automating business processes, it can be a model-driven business process automation tool. If you are writing business rules, it can be a development environment. If you are maintaining business data, it can be a master data management system. If you're communicating with business partners, it can be an online collaboration portal. It can be all these specialised tools, and others, all at the same time, all built on a single, unified model of data and processing.
Example - process management support
To give a fuller example of how the portal works, consider process management support.
The portal has no built-in process management support. It does not know how to define a process or how to run one.
It is possible to define a process in data, using something like JSON. The data can link to nodes that contain scripts that define functionality, plus configuration and flow logic to control the process. It is possible to create a script that interprets this data and which can invoke the required functionality for the current state of the process. The process definition and script can be associated with a node type which means we can now have a node type that can hold a process definition and can execute a process.
The process definition can be a bit complicated to get right, so it might be worth creating a better way of defining it. The portal lets you define a process using a series of forms, to define the possible actions, functions and rules within the process. This can be easier than editing a process definition directly. These forms are then turned into the process definition using the data calculation approach, so that the process definition changes whenever the data on the forms change.
To make it even easier, it would be good to be able to enter the processes as diagrams. To achieve this, the portal provides a node type which can interpret an uploaded business process model created in an industry standard format, convert this to it's own process definition, and then execute that process. This means the portal can support model-driven process design and execution, all without having any built-in support for process management.
There's more
As well as node handling, the portal contains great integration features. It has comprehensive inbound and outbound web service support, is integrated with lots of browser libraries like editors, comes with back-end integration to services like email and search engines, and all of this can be extended as much as you need, all within the same secure, data-driven node approach.