Secure, Solid and Reliable
mission.do is at the forefront of a new movement in software called Platform as a Service (PaaS) in which the application framework is provided as customizable web-based services. With mission.do you get a complete online platform with a point and click, drag and drop declarative programming model that almost anyone can use to build and deliver secure custom web-based applications.
Data Model
The mission.do object-oriented data layer provides complete visual control at the metadata-level without requiring any programming expertise. Use point-and-click wizards to create objects (i.e. tables) and relationships between them. Add fields, create components and configure advanced data behavior. Design and customize enterprise-level data models all from within the comfort of your browser.
Objects
Object definitions are the basic building block of all mission.do applications. You can define Objects to represent any kind of business data such as a Donor, Employee, Service, Partner, Project, Meeting, Event, Funder, Grant, etc. Objects consist of many subcomponents which, when combined together, form an enterprise-level data management entity that can be used in one or more applications.
Fields
Fields are the basic building block of object definitions that determine what kind of data is stored with each object record. Fields are used in pages, views, charts and other object components to display and input object data. mission.do allows the creation of over 25 different field data types. For each field you can define sophisticated validation rules, permissions, auditing behavior, and much more.
Relationships
Relationships represent connections between objects and are a fundamental component of any sophisticated business application. Each relationship’s behavior is controlled by cardinality (e.g. 1-1, 1-Many, Many-Many) as well as other properties and attributes. mission.do allows you to create any number of relationships between any objects, including hierarchy relationships.
Conversion Maps
Conversion Maps are used to define how object records can be converted from one object type into another enabling easy integration between and among any mission.do applications. Conversion maps can be saved and reused in workflow events or manually invoked by users.
Unique Indexes
mission.do includes robust duplicate prevention capabilities in the form of field uniqueness enforcement and validation. When this control at the individual field level is not enough, unique indexes can be used to define duplicate prevention rules by defining groups of fields which should never contain the same selections for any given record.
Email Templates
Email Templates are designed for generating personalized messages to individuals or multiple recipients in HTML or plain text formats that can incorporate record and related record field data. Email Templates are often used in conjunction with workflow events to send alerts and notifications.
Document Templates
Document Templates are designed for generating personalized documents (Word, Excel, HTML or plain text) that can incorporate record and related record field data. Document Templates are often used in conjunction with Workflow Events to automatically generate and send documents.
Workflow & Logic Model
mission.do provides a powerful workflow engine that allows you to define custom automated and user-driven business rules and logic. Using a combination of workflow processes, statuses, actions and events you can model almost any kind of business process using point-and-click tools within your browser.
Workflow Processes
Each object can have a variable number of workflow processes defined for moving records through their lifecycle. For example, an Candidate object might have an entirely different workflow process for candidates who applied through your website versus those that were submitted as referrals. Each process consists of a set of workflow statuses and associated actions.
Workflow Statuses
Workflow statuses represent a specific stage in the context of a workflow process. Actions can be associated with each status allowing users to easily move records to the next appropriate step in the workflow process.
Workflow Actions
Workflow actions allow users to move records to another status or invoke one or more workflow events to trigger business logic. Workflow actions are typically invoked by users from within the mission.do user interface. Permissions can be assigned to each action allowing you to define which roles and users can invoke that action.
Triggers
Triggers provide a powerful way to define automated business logic which can be executed before and/or after a record, or related record, is created, updated or deleted. Triggers can be created to do everything from sending email alerts and notifications to updating field values, creating related records, generating template-based documents, initiating SOAP or REST requests, and much more. Triggers can be recurring and ordered sequentially to enforce a pre-defined order.
Powerful trigger conditions can be defined using JavaScript to determine whether or not to execute the event based on any record or related record data, or to set the value of a field based on the result of a custom formula expression. Triggers are used extensively to model sophisticated business logic and application behavior.
Approval Processes
mission.do supports both sequential and parallel approval processes via a special type of approval Workflow Action. Using approval actions you can define pre-configured groups of approvers for specific types of object records which can optionally be modified by end-users when an approval process is initiated. Approval activity trails can be shown in record view pages to provide an up-to-the-minute view of the approval process. Users are notified via email as soon as their approval response on any given record is required.
User Interface Model
Like the data model, all mission.do applications consist of a set of components which combine to form a functioning user interface layer. Each of these components is entirely customizable using point-and-click, drag-and-drop tools in a standard web browser. mission.do also allows you to define your own UI components completely from scratch, or plug in third party scripts, widgets, etc.
Tabs & Menus
Tabs are the clickable section headers below the title bar in any of your mission.do applications. Below the row of Tabs in each application you will see several links. These are the Menus associated with the selected Tab. Each Tab can have an arbitrary number of Menus. Menus are links to specific pages in your application.
Fields
Fields are the basic building block of object definitions that determine what kind of data is stored with each object record. Fields are used in pages, views, charts and other object components to display and input object data. mission.do allows the creation of over 25 different field data types. For each field you can define sophisticated validation rules, permissions, auditing behavior, and much more.
Pages & Forms
Each object definition comes with a set of pages used to display and input object data in various ways. You can edit each page using the mission.do Page Editor – a real-time WYSIWYG drag-and-drop environment allowing you to preview changes in real-time. Almost every page in your mission.do applications can be customized on the fly by clicking “Edit this Page” – it’s as easy as a Wiki! Pages can also be cloned to create multiple different versions. Pages can be assigned on a Role and User-specific basis allowing you to show different pages to different users based on role and permissions.
Custom Event Handlers and AJAX API
All fields expose event handlers allowing custom script to be invoked in response to onchange, onfocus, onblur and other input field events allowing designers to change application appearance and behavior based on any field state or other criteria in the user interface. An AJAX API can be used by client-side components, such as those created in Flex or JavaScript, and field-level event handlers as described above, to retrieve and modify data, and use results to dynamically update the client user interface. This API is subject to the same permissions and access control restrictions as the standard mission.do user interface, and SOAP/REST Web APIs.
Views
Views consist of columns that correspond to object fields and display a list of object records that users can navigate, sort and filter. Each object definition can have an arbitrary number of Views associated with it and users can switch to any other available View as needed. Group actions such as mass update, tagging, flagging, marking as viewed/unviewed, mass deletion, mass email and much more can be performed from Views.
Dashboard Gauges
A robust set of real-time animated guage components that provide professional graphical presentations of important business data. Data provided to guages are powered by mission.do’s JavaScript formula engine and can include computations that make use of the SQL Query API to deliver a highly customized result displayed in an easy to consume visual format.
Charts
A chart in mission.do is a type of information graphic that represents tabular text or numeric data. Some charts can be animated and offer interactive capabilities such as rotation or switching between 2D and 3D modes. You can create any number of Charts to represent your object record data in a variety of ways. Like Views, users can switch among available Charts in real-time. Multiple charts sections can be combined on a single page to form dashboards.
Reports
Reports can be created and modified to meet specific business needs using the mission.do report builder. mission.do supports tabular reports as well as HTML and document template based reports allowing custom formatting. Tabular reports allow you to report on field data up to three relationships deep. Each report layer is fully customizable and layers can be collapsed and expanded at runtime. Document template reports allow the creation of reports to display sums, counts, averages and other metrics using HTML, Microsoft Word or Excel to generate custom-formatted documents with just about any kind of presentation format.
Portals
Portals are powerful and flexible ways to build and expose a wide range of external-facing application functionality such as creating, editing, searching and viewing object records, and much more. For example, a mission.do application for managing sales leads might have a portal integrated with your website to collect information submitted by website visitors. A mission.do application for employee management might have a portal designed to be used on your intranet by employees for self-service access to employee profile information, company directory, benefits information, etc.
Portals are made up of a series of interconnected portal pages that form a working web-based application. Portal pages that require authentication can only be accessed by portal visitors which can be represented by objects definitions that include username and password fields. Special login and forgot password capabilities provide portal visitor authentication capabilities. A growing library of advanced components such as captcha fields, URL parameter and IP address fields allow you to build sophisticated portals for just about any business function.
Organization Model
By defining location, department and function hierarchies you can easily model your entire organizational structure no matter how large or small, and create user groups based on these hierarchies to further refine which features and data each of your users can access. In this way you can model complex organizational structures and leverage these structures to segment data access for tens, hundreds and even thousands of users in an intuitive, scalable, and easy to manage system.
Locations
The locations hierarchy allows you to define all of the locations your organization operates in throughout the world. For larger organizations it is often convenient to create several layers to organize offices into regions, countries and overall territories. A detailed location hierarchy allows you to organize all of the data in your mission.do applications according to geography and optionally use Groups to determine which users can access it.
Departments
The departments hierarchy provides a way to model the functional structure of your organization by creating layers of companies, departments, groups, teams, etc, based on how your organization is structured. A fully modeled department hierarchy allows you to organize all of the data in your mission.do applications according to your organization’s structure and optionally use Groups to determine which users can access it.
Functions
Functions represent job functions or positions in your organization from a reporting structure perspective. A fully modeled function hierarchy allows you to organize all of the data in your mission.do applications according to your organization’s reporting structure and optionally use Groups to determine which users can access it.
Groups
User groups consist of a specific location, department and function combination, which can be used to determine application permissions based on organizational structure. Each user can be assigned to any number of groups. For example you might create different Groups for HR Managers in US, Canada, APAC, EMEA, etc. While users assigned to these Groups may have the same Role and User-specific permissions, they will only be able to access data associated with different portions of the hierarchies based on their group assignments.
Integration Model
Well-integrated information and processes lead to better user experiences, organizational efficiencies and overall performance improvements. If information is spread throughout different systems, access to it is a constant challenge — for your employees, as well as your customers. The complex IT environments that exist in enterprise organizations necessitate a comprehensive approach to integration. Our approach leverages Service Oriented Architecture (SOA) fundamentals to provide a seamless integration of mission.do data and functionality with other systems and applications.
mission.do provides a flexible integration model via fine-grained SOAP, REST, and AJAX APIs as well as a growing number of integration connectors. In addition, built-in integration with Google Apps (GMail, Calendar and Docs) provides a way to sync mission.do application data with Google tools including the ability to use GMail as the outbound email mechanism.
AJAX API
The mission.do AJAX API is designed for extending application pages with custom dynamic behavior. This API can be used by client-side components, such as those created in Flex or JavaScript, and field-level event handlers to retrieve and modify data, and use results to dynamically update the client user interface. The AJAX API is subject to the same permissions and access control restrictions as the standard mission.do user interface, and SOAP/REST Web APIs.
SQL Query API
The mission.do SQL Query API allows both client-side (Script and Template components, page layouts, and field event-handling code) as well as server-side (formulas, conditions, validations, reports, etc) to perform SQL queries to retrieve specific data necessary for the task at hand. The SQL Query API is subject to the same permissions and access control restrictions as the standard mission.do user interface, and SOAP/REST Web APIs.
REST API
The mission.do REST API is designed to enable integration between the mission.do platform and external systems via REST calls. The mission.do REST API uses the same permissions mechanism as the standard mission.do user interface. API users must have permission to view, create, update, or delete records in order to perform these actions via API calls. The SOAP API consists of standard CRUD (create, read, update, delete) methods as well as search, binary file upload/download methods for working with file and image fields, methods for working with relationships, and a method for retrieving a full XML representation of an Object definition and all of its components.
SOAP API
The mission.do SOAP API is designed to enable integration between the mission.do platform and external systems via standards-based SOAP calls. The mission.do SOAP API uses the same permissions mechanism as the standard mission.do user interface. API users must have permission to view, create, update, or delete records in order to perform these actions via API calls.
Google Apps Integration
The integration of the mission.do platform with the products from Google allows any mission.do-native application to become integrated with any customer’s Gmail, Google Calendar and Google Docs accounts. Any application created with mission.do can automatically use Gmail to send email, synchronize any event information with Google Calendar, and export application data directly into Google Docs & Spreadsheets, increasing the productivity of joint mission.do and Google Apps users.
mission.do includes the following three out of the box integrations with Google products:
- GMail: Uses each user’s GMail account to send any outbound email from within mission.do, and stores that email in the user’s Sent Items for historical reference within GMail.
- Google Calendar: Enables the synchronization of all types of tasks and events in any mission.do application with each user’s Google Calendar.
- Google Docs: Enables sharing mission.do data views and reports, making them available to internal and external audiences through Google Spreadsheets.
Integration Connectors
In addition to Web APIs, mission.do also provides a growing library of pre-built integration connectors. For example, an FTP backup connector allows you to periodically back up all of your mission.do data and automatically send it to a secure FTP server. A mission.do to mission.do connector allows you to synchronize data between different mission.do accounts.




