Skip to main content

Celoxis 11.1 — the complete Knowledge Base

Every article in this version on one page: 172 articles across 11 sections, in reading order. Search it with your browser, save it as a PDF, or keep it for offline reference.

SaaS: January 13, 2018  ·  On-Premise: March 20, 2018

Projects

23 articles

Concepts

ProjectsConcepts

Project States

Open article

Project states enable you to define and track the project lifecycle from initiation to closure. By default, we provide the following states: Draft, Active, Canceled, On-Hold, Archived; but you can customize them to suit your business.

States also allow you to control some aspects of system behaviour. For example, you could disallow logging time for projects in the Draft and Archived project states.

System behaviour is also different based on the project state's stage.

Project stage

Every project state must belong to one and only one of the following project stages: Planning, Execution and Closure. The system will behave differently for projects based on the stage its project state represents as described below:

RAG IndicatorsEmail NotificationsNew Exceptions
Impact Schedule
Planning
Execution
Closure

For example, if you define a project state called Unapproved and set its stage to be Planning, then any project in the state Unapproved will not have RAG indicators nor will it generate email notifications. However, any work exceptions added for work calendars or resources will result in the project plan to be recalculated.

Using project states

A project may belong to only one project state.

Project state can be set on the add/edit project screen under the Custom Fields tab. To modify project state for many projects at once you can use the bulk edit screen.

Project states can also be used in columns, filters, groups, and charts.

Managing project states

Only administrators can manage project states. To manage project states navigate to AdministrationProject Management sectionProject States

ProjectsConcepts

Project Templates

Open article

If you do projects that are similar in structure, then instead of building your project plan from scratch every time, you can create and save those projects as templates to get a new project up and running quickly.

Using project templates

To create a new project from a template, click Main MenuAddProjectUse a Template

Managing project templates

Only administrators can create and manage project templates.

A template can be created from any project. To create or manage project templates, navigate to AdministrationProject ManagementProject Templates

ProjectsConcepts

Project Types

Open article

Project types help you categorize your projects. Using our reports, you can get important KPIs like profit, effort and margin aggregated for your project types, thus helping you understand business performance.

You can also setup custom fields specific to your project types to capture relevant business data.

For example, a legal firm may have project types such as Bankruptcy and Patents. Custom fields could be Insurance Company and Loan Number for the former; and Patent number, Patent Sponsor and Patent state for the latter.

Using project types

A project may belong to only one project type.

Project types can be set on the add/edit project screen under the Custom Fields tab. To modify project type for many projects at once you can use the bulk edit screen.

Project types can also be used in columns, filters, groups, and charts.

Managing project types

Only administrators can manage project types. To manage project types navigate to AdministrationProject Management sectionProject Types

ProjectsConcepts

Project Clients

Open article

Clients are individuals or organizations for whom projects are executed. Associating clients with projects helps in filtering, reporting, charting, and in many other areas.

In addition, you can give your clients access so that they can login to view reports shared with them, engage in online discussions, share files and even participate in business workflows (e.g. bugs, change requests and approvals).

Client access is free.

Client Login

Virtual clients are clients that do not have a username and password. They cannot log in to Celoxis. When you create a client, you can optionally assign it a username and a password. You can also set their login credentials from the edit client screen.

If, at a later time, you wish to withdraw login access, simply blank out the username and password for that client.

To prevent any accidents, clients are not notified about their usernames and passwords. It is up to you to communicate their credentials to them.

Client privileges

Every client account can be configured to have the following privileges:

Allow client to view task information, excluding financial information: This determines whether clients can view task details. Financial fields (including custom fields) are never shown to the clients.

Allow client to view details of progress update on tasks: This determines whether clients can view updates and comments on the task.

Allow client to do progress update on tasks: This determines whether clients can add comments on a task.

If you share reports with your client, then the above privileges override the data shared in reports. For example, if you share a task list report to a client that does not have the Allow client to view task information… privilege, then that client will see an empty report.

Client Hierarchy

Consider the following scenarios:

  • More than one person from a client organization wants to collaborate on a project.
  • Your company does projects for different departments (or branches) of a client, but executives want consolidated reporting. For example, your company may do projects for IBM India and IBM France and your CXOs may want a consolidated report for IBM. Also, you don’t want people from IBM India to access IBM France’s projects and vice-versa.
  • You want to prevent accidental access of one client to another’s project. For example, you do not want to give CBM access to IBM’s projects because of a typo.

That’s where the concept of Client Hierarchy comes in. Celoxis allows you to create client hierarchies for better reporting, collaboration and access control.

Example

Consider the following clients:

 1    Peter Parker

 2    IBM
 3    ├── John
 4    └── Alisha

 5    Acme 
 6    ├── Acme (France)
 7    │   ├── Pierre
 8    │   └── Chloe
      │
 9    └── Acme (India)
10        ├── Ravi
11        └── Suresh

There are a total of 11 clients.

Peter Parker is an individual client. There is no hierarchy.

IBM has two child clients - John and Alisha.

Acme has two child clients - Acme (France) & Acme (India), each having two child clients - Pierre and Chloe for the former and Ravi and Suresh for the latter.

To create this parent-child relationship, use the “Parent” field from the add/edit client screen.

Project Visibility

When you assign a project to a client, it is visible to that client and all its descendants. Continuing with the above example:

If project's client is...It is visible to...
Peter ParkerOnly Peter Parker
IBMAlisha and John
AlishaOnly Alisha
Acme (France)Pierre and Chloe
AcmeAcme and everybody under it

Setting project clients

You can set a project's clients from the project's add/edit screen or from project bulk actions. The first client becomes the project's primary client

Clients Reports and Dashboards

You can share reports and dashboards with clients. You can share tabular, pie charts, bar charts and many other views of reports. For more information, read the chapter on dashboards

To share it with a client, select the client in the Visible to Clients field in the add/edit report form. If you pick the All option, the report will be shared with all clients.

You can also control which project tabs are visible to clients in a similar way. Navigate to AdministrationProject ManagementProject Views, edit the view and select the clients as described above.

For more information on report and dashboard sharing, read the chapter on report sharing.

Note that clients can modify filters that are marked as promptable in the report's filter tab.

Financial data is never displayed to clients even if those columns are accidentally selected.

Client Actions

Clients can actively collaborate through the system increasing transparency and reducing duplicate work. It also helps maintain an audit trail and ensures things don't fall through the cracks.

What a client can doRequirement
Start a new project discussionThe project is visible
Reply in a discussionThe discussion has the Share with Client option checked.
Attach file to a projectThe project is visible.
Attach file to a taskThe task is visible.
Initiate a new workflowThe custom workflow app has the Clients can initiate option checked in the app definition.
View an existing workflowThe client is the requestor or the current assignee.
Perform a state transitionThe client is the current assignee.
Add comment to a workflowThe client is the requestor or the current assignee.
Add comment to a taskThe task is visible and the client has the Allow client to do progress update on tasks privilege in its settings.

Viewing clients

Clients can be viewed by admins and those users having the View Client privilege.

To see the client list, go to Main MenuViewClients

Creating clients

Clients can be added by admins and those users having the Add Client privilege.

To add a client"

  1. Click Main MenuAddClient
  2. In the Basic tab:
    1. Fill in Name, Email, and Phone number.
    2. If the client account is part of a hierarchy, enter the parent.
    3. If you do not wish the client to have a login, enter login and password, click on the virtual checkbox.
    4. Assign appropriate privileges.
  3. In the Custom Fields tab, fill in the appropriate custom fields.
  4. In the Preferences tab, select the appropriate locale, date formats and dashboards.
  5. Check the Add Another check box if you wish to add more clients.
  6. Submit

Login information is not sent to the client.

Importing Clients from CSV

Celoxis provides you with the ability to import clients from CSV. If you have a Microsoft Excel file, then you can export it in CSV (comma separated values) format and then import it in Celoxis.

To import clients, go to the clients page – Main MenuViewClients and then click on the Import button. Upload the client in the format described below.

Fields supported:

  • Name - mandatory
  • Email
  • Phone
  • Username - the login name.
  • Password - the plain text password.
  • Virtual - false or true to indicate whether the client can login or not respectively.
  • Custom Fields - you will have to create the fields in Celoxis first

Clients are

notified of their login accounts.

ProjectsConcepts

Project Team

Open article

A project team is a set of users who work on a project. The main advantages in defining a project team are:

  1. Convenience - you will see only the users in your project team while assigning tasks to users.
  2. Security - you can assign special privileges to users in the project team. For example, you can configure the system such that any user in the project team can comment on any task in the project.

Defining a project's team

Project team can be set on the add/edit project screen under the Advanced tab.

A few rules to remember:

  • Project managers defined for the project are always part of that project's team.
  • Users assigned to tasks in a project are always part of that project's team.

Enabling project team capability

To enable the project team capability, navigate to AdministrationProject ManagementProject Options and uncheck the When assigning tasks, show all users... option.

For small teams, this capability may be an overkill and is better to disable it.

ProjectsConcepts

Microsoft Project Integration

Open article

Celoxis is a great alternative to Microsoft Project. Celoxis' integration with Microsoft Project is one of the most comprehensive in the industry. If you understand how it works, you can achieve a perfect 2-way synchronization with Microsoft Project thus getting the best of both worlds.

Importing from Microsoft Project

You can create a project directly from a Microsoft Project file (Main MenuAddProjectImport Microsoft Project) or import tasks into an existing project (Project ActionsImport from Microsoft Project).

When you import a Microsoft Project file (XML or MPP), Celoxis will import:

  • Parent-child relationships
  • Dependencies including lead-lag times
  • Constraints
  • Resource assignments
  • The default baseline

What is not imported:

  • Calendar options - e.g. hours/day, days/month, etc.
  • Resource list
  • Custom fields
  • Non-default baselines
  • Calendars and exceptions
  • Time-phased data
Import field mappings

While the field mappings in most cases are self-explanatory (they have the same name in MS Project and Celoxis), some fields deserve a special mention:

MS ProjectCeloxis
% Work Complete% Complete
PriorityVery High (700+), High (600+), Normal(500), Low(400+), Very Low(0+)
Task ModeManually Scheduled
Understanding Deviations

Celoxis and Microsoft Project while similar in many ways are different in certain areas (see the list of what is not imported above) and that can cause certain surprises. If dates do not match in Celoxis after importing, ensure that:

  • Work calendars and exceptions in MS Project and Celoxis match. Note that MS Project does not support time-zones or fractional non-working times.
  • You are not using any of the options or features in Microsoft Project that Celoxis does not import
  • You mapped the resources correctly during the import

Exporting to Microsoft Project

When you export a project to Microsoft Project (Project ActionsExport to Microsoft Project), the following will be exported:

  • Parent-child relationships
  • Dependencies including lead-lag times
  • Constraints
  • Resource assignments
  • The default baseline
  • Work Calendars and Exceptions
  • Resources and their individual exceptions

What is not exported:

  • Custom fields
  • Inter-project predecessors
  • Fields that have no corresponding field in Microsoft Project (e.g. workspace, budget, etc.)
  • Resource allocation in hours is changed to % because Microsoft Project does not support allocation in hours
Export field mappings

While the field mappings in most cases are self-explanatory (they have the same name in MS Project and Celoxis), some fields deserve a special mention:

CeloxisMS Project
% Complete% Work Complete
Very High (700+), High (600+), Normal(500), Low(400+), Very Low(0+)Priority
Manually ScheduledTask Mode
Celoxis Task IDNumber Field 10
Understanding Deviations

Celoxis and Microsoft Project while similar in many ways are different in certain areas (see the list of what is not exported above) and that can cause certain surprises. If dates do not match in Microsoft Project after exporting, ensure that:

  • Work calendars and exceptions in MS Project and Celoxis match. Note that MS Project does not support time-zones or fractional non-working times.
  • You are not using any of the options or features in Microsoft Project that Celoxis does not import
  • You have not allocated resources in hours and only used % in Celoxis. Microsoft Project does not support allocation in hours.

ProjectsConcepts

RAG Indicators

Open article

RAG stands for Red, Amber and Green. RAG indicators visually indicate the health of projects or tasks with respect to schedule and cost.

Celoxis automatically calculates the RAG indicators for projects and tasks regularly if the project's is in the Execution stage. Otherwise, the RAG indicator is shown as Not Active.

Schedule RAG Indicators

For every project and task, Celoxis automatically calculates its projected finish date based on the current rate of progress once a day. It is the date on which the project or task is likely to finish based on the current rate of progress.

For example, say a task was scheduled to complete in 4 days and after 2 days it is only 25% complete. Celoxis will calculate the projected finish date of the task to be the 8th day instead of the original 4th.

For a project or summary task, its projected finish date is the maximum of the projected finish dates of its leaf-level tasks.

RAG indicators are assigned as follows:

Off TrackThe planned finish date is in the past.
At RiskThe projected finish date is after the planned finish date.
On TrackThe projected finish date is on or before the planned finish date.
CompletedTask is 100% complete
BlockedTask is scheduled to start but not all its predecessors are complete.
FutureTask is scheduled to start in the future.
Not ActiveProject's state is not in the Execution stage

Cost RAG Indicators

For every project and task, Celoxis automatically calculates its projected cost based on the current rate of spend once a day. It is the cost the project or task is likely to incur based on the current rate of spend.

For example, say a task's budget is $1000 and it is 25% complete with an actual cost of $200. Celoxis will calculate the projected cost of the task to be the $800 instead of $1000.

For a project or summary task, its projected cost is the sum of the projected cost of all its leaf-level tasks.

RAG indicators are assigned as follows:

Off TrackActual cost has exceeded the budget.
At RiskProjected cost exceeds the budget.
On TrackProjected cost does not exceed he budget.
Not ActiveProject's state is not in the Execution stage.

If budget is unspecified, the planned cost will be used instead while calculating the RAG status.

Calculation of Projections

Calculating projections is a resource intensive operation hence it is infeasible for the system to maintain RAG indicators in real-time.

Celoxis calculates projections once a day on a best effort basis. However, you can ask the system to recalculate projections for a project anytime using Project ActionsRecalculate Projections. You can even recalculate projections for multiple projects using Project Bulk ActionsRecalculate Projections from your project list view.

ProjectsConcepts

Work Calendar

Open article

A work calendar defines the working and nonworking times for an organization. It specifies the work hours for each work day, the work days for each week, and any exceptions, such as holidays.

You can define many work calendars each with its own time-zone, working hours and exceptions.

Work calendars are used in scheduling tasks.

Using Work Calendars

Every user must belong to one and only one work calendar. Work calendar can be set for a user from the add/edit user screen or from the bulk edit screen.

Every project has a default work calendar. All dates on its interactive Gantt chart are shown with respect to this work calendar's time-zone. The default work Calendar can be set for a project from its add/edit screen.

Managing Work Calendars

Only administrators can manage work calendars. To manage work calendars, navigate to AdministrationProject ManagementWork Calendars

Exceptions

Exceptions are times that are an aberration to the rules defined in the work calendar. Exceptions can be defined for the entire organization (e.g. Christmas holiday), for work calendars (e.g. 4th July holiday only in the U.S.) or for individuals (e.g. Joe is going on a vacation from 3rd to 10th May 2016).

When exceptions are added, modified or deleted, task dates are recalculated. For example, if Mark is sick on a 3rd May and a work exception is entered, all tasks that Mark was supposed to work on 3rd May will be pushed a day ahead.

Working and Non-Working Exceptions

While most exceptions are non-working, you can also enter working exceptions. For example, if Peter is going to work on a Saturday, the 10th of June, you can enter a working exception for Peter on 10th June and all tasks assigned to Peter will be rescheduled appropriately.

Managing Exceptions

Only administrators can add organization wide or work calendar exceptions. To manage exceptions, go to AdministrationProject ManagementWork Calendars and click on the Exceptions tab.

ProjectsConcepts

Project Glossary

Open article
AttributeRead/WriteDescription
NameRWA short description.
Planned StartRWThe start date. Tasks that have ASAP constraint and no predecessors will start from this date. Changing this value will reschedule the project plan.
DeadlineRWThe date beyond which the project cannot finish.
ManagerRWThe primary project manager.
ClientsRWThe project clients. Read More.
StateRWThe project state. Read More.
% CompleteRThe overall progress of the project. Read More.
Actual Cost (ACWP)RThe total cost incurred so far. It is the sum of actual costs of all its leaf tasks.
Actual EffortRThe total effort spent so far. It is the sum of actual effort of all its leaf tasks.
Actual RevenueRThe total bill amount to client. It is the sum of all bill amounts for all approved time and expenses in this project.
Budget HealthRThe color coded health indicator of the project's progress with respect to cost. Read More.
Invoiced RevenueRThe total bill amount for which the client has been invoiced. It is the sum of all bill amounts for all invoiced time and expenses in this project.
Planned CostRThis is the cost a project is expected to incur based on its plan. It is the sum of all planned costs for all its leaf tasks.
Planned EffortRThese is the total effort that must put in to complete the project as per its plan. It is the sum of planned effort of all its leaf tasks.
Planned FinishRThis is the maximum of the planned finish dates of its tasks.
Planned Labor RevenueRThe total revenue expected from this project. It is the sum of the planned labor revenues of its leaf tasks.
Schedule HealthRThe color coded health indicator of the project's progress with respect to schedule. Read More.
Actual Billable HoursRThe total time that is billable and approved.
Actual FinishRThe date the last task was finished. It is the maximum of the actual finish dates of its tasks.
Actual Fixed CostRThe fixed cost incurred on a project till date. It is the sum of actual fixed costs of all its leaf tasks.
Actual Labor CostRThe total labor cost so far. It is the sum of all labor costs of all its leaf tasks.
Actual MarginRThe actual profit margin: Actual Profit ÷ Actual Revenue
Actual Non-billable ExpenseRSum of amounts of approved and non-billable expenses in this project.
Actual Non-billable HoursRSum of hours from approved and non-billable time entries in this project.
Actual Non-billable LaborRSum of bill amounts from approved and non-billable time entries in this project.
Actual Non-Labor CostRSum of amounts of costable expenses in this project.
Actual ProfitRActual Revenue - Actual Cost
AlignmentRWA number between 0 and 100 that reflects how closely this project's requirements fit within the organizations business, goals, skill sets, and resources. Higher number means better alignment.
BCWPRBudgeted Cost of Work Performed. Read More.
BCWSRBudgeted Cost of Work Scheduled. Read More.
Baseline % CompleteRThe expected % complete of the project based on the baseline.
Baseline BudgetRThe budget of the project when it was baselined.
Baseline CostRThe planned cost of the project when it was baselined.
Baseline DeadlineRThe deadline date of a project when it was baselined.
Baseline Deadline VarianceRThe difference in days between the current and baseline deadline.
Baseline EffortRThe planned effort when the project was baselined
Baseline Effort VarianceRThe difference between the planned and baseline effort
Baseline FinishRThe project's planned finish date when it was baselined.
Baseline Finish VarianceRThe difference between the project's planned and baseline finish date.
Baseline StartRThe planned start date of the project when it was baselined.
Baseline Start VarianceRThe difference in days between the planned and baseline start.
BenefitRWA number between 0 and 100 that reflects the potential for financial or operational gain upon successful completion. Higher number means more benefit.
Billing TypeRWThe default billing type of new tasks. If billing type is Time & Material, new time logs will automatically be marked as billable. If Fixed Price, then they will be marked as non-billable.
BudgetRWThe budget of a project - typically planned cost + buffer
CPIRCost Performance Index. Read More.
CodeRWThis is a short alpha numeric code that identifies the project. This code should be unique across the company and has to be entered manually. This is useful if you refer to projects with a code. You can also search for projects using the project code.
Cost VarianceRBCWP - ACWP
CreatedRDate on which the project was created.
CreatorRUser who created the project.
DescriptionRWA detailed description of the project.
Fixed PriceRWThe fixed price of the project (only applicable when Billing Type is Fixed Price)
IDRThe primary key of the project record in the database.
Invoiced ExpenseRThe sum of all invoiced expenses for this project.
Invoiced HoursRThe total hours for invoiced time.
Invoiced LaborRThe total bill amount of invoiced time
Last ModifiedRThe date on which the project was last edited or some attribute was modified.
Planned % CompleteRThe expected percent complete based on the plan.
Planned Fixed CostRThe total fixed cost of the project. It is the sum of fixed costs of all its leaf tasks.
Planned Labor CostRThis is the total estimated labor cost of all the tasks in the project.
Planned MarginRThe profit margin as per plan. Margin = Planned Profit ÷ Planned Revenue
Planned Non-labor CostRThe total estimated non-labor cost (e.g. travel, food, software, etc.). It is the sum of planned non-labor costs of all its leaf tasks.
Planned ProfitRPlanned Revenue - Planned Cost
Planned RevenueRIf the project's billing type is Fixed Price then it is that value, else it sis the sum of the planned revenue of all its leaf tasks.
PriorityRWOne of the following Very Low, Low, Normal, High, Very High.
Projected CostRThe expected total cost of a project based on its current rate of spend. It is the sum of projected costs of all its leaf tasks.
Projected FinishRThe date on which the project is expected to finish based on the current rate of progress. It is max of the project finish dates of its leaf tasks.
Projected HoursRThe total hours this project will require to finish based on the current rate of progtess. It is the sum of projected hours for all its leaf tasks.
Remaining HoursRPlanned Hours - Actual Hours
RiskRWThe potential negative impact that may arise from this project.
SPIRSchedule Performance Index. Read More.
Schedule VarianceRBCWP - BCWS. Read More.
TeamRWThe pool of users working on this project. Read More.
TypeRWOne of your project types. Read More.
Work CalendarRWProject's work calendar. Tasks that do not have a resource are scheduled based on this calendar. All dates in the interactive Gantt chart are shown with respect to this work calendar's time zone. Read More.

Actions

ProjectsActions

Creating a Project

Open article

To create a project, click Main MenuAddProject

Blank Project

This creates a project with no tasks.

Copy Project

This clones the project and its entire task WBS. All project and task fields (including custom fields but excluding constraints), dependencies, resource assignments and file attachments are also copied. The new project is then replanned as per the new project's start date. If the original project had manually scheduled tasks, those tasks in the new project will have a similar duration and will start at the same time after the new project's start.

Use a Template

For more details, click here.

Import Microsoft Project

For more details, click here.

ProjectsActions

Attaching Files

Open article

You can attach file or files from your local drive or Google Drive to a project's folder. Click on a project to open its panel and then click Project ActionsMoreAttach Files. Files attached to a project (or its tasks) can be viewed from the Files tab.

ProjectsActions

Overriding Billing Rates

Open article

Depending on whether you use user-based billing or time code based billing, either the default bill rate for a user or time code is used while calculating the bill amounts. You can override those rates per project.

To override the default rates, click on a project to open its panel and then click Project ActionsMoreBilling Rates.

In the above example, Ellen Ripey's bill rate for the project has been set to $150. As you can see, you can click on the Add button to add a rate, click on the Rate cell to edit a rate, or click on the icon to delete a row which will default the rate for that user back to the default rate.

ProjectsActions

Overriding Cost Rates

Open article

By default, the labor cost rate specified for a user is used while calculating the labor cost of a task. You can override those rates per project.

To override the default rates, click on a project to open its panel and then click Project ActionsMoreCost Rates.

In the above example, Ellen Ripey's cost rate for the project has been set to $50. As you can see, you can click on the Add button to add a rate, click on the Rate cell to edit a rate, or click on the icon to delete a row which will default the rate for that user back to the default rate.

ProjectsActions

Importing Clients from CSV

Open article

Celoxis provides you with the ability to import clients from CSV. If you have a Microsoft Excel file, then you can export it in CSV (comma separated values) format and then import it in Celoxis.

To import clients, go to the clients page – Main MenuViewClients and then click on the Import button.

Fields supported:

  • Name - mandatory
  • Email
  • Phone
  • Username - the login name
  • Password - the plain text password
  • Virtual - false or true to indicate whether the client can login or not respectively. If you specify false or blank, then you must provide a username and password
  • Custom Fields - you will have to create the fields in Celoxis first

For security reasons, no emails are sent to clients. It is up to you to notify them of their login information.

ProjectsActions

Bulk Actions

Open article

You can select multiple projects and perform actions on them. Click on the next to the checkbox in the report table header as shown below:

Recalculate Projections

For details, refer the Calculation of Projections section here

Edit

Allows multiple attributes to be modified at once, including custom fields as shown below:

How-To

ProjectsHow-To

Project Portfolio Management

Open article

Portfolio management, often referred to as project and portfolio management or PPM isn’t as complicated as one might think. Using Celoxis, you can initiate project requests, develop project scoring model, view project request queues and available resource capacities, achieve desired portfolio balance and track project pipelines and portfolio accounting so that you are always staying ahead of your projects.

Setup

  1. Enable Portfolio feature in your account (AdministrationProject ManagementFeatures).
    This enables the Portfolio section in Projects to capture Alignment, Benefit and Risk parameters for the portfolio. These are the standard attributes we provide for portfolio management.
  2. Create a new Project State ‘What-if’ (AdministrationProject ManagementProject States).
    Keep this state in ‘Planning’ Stage and keep ‘Allow Time’ unchecked. We will use this state to perform rudimentary what-if analysis to arrive at a desired portfolio balance.
  3. Import the Project Approval App. (AdministrationCustom AppsAppsImport).
    With this you get a standard out-of-the-box project request workflow. You can customize this workflow to suit your business process. Edit the app and uncheck the “Active” checkbox under Basic tab. This way the app is not available to your users till we set up the rest of the pieces.
  4. Develop your Project Scoring model.
    Define the additional project attributes that will be potentially important factors to scoring projects. This will be done through custom fields (AdministrationAccount ManagementCustom Fields). Attach these custom fields to all Project Categories and also to the Project Approval App.
    In addition to your specific project scoring attributes, you will also need to create the following 3 custom fields and attach them only to the Project Approval App:
    • - Strategic Alignment (Numeric: 1 to 100),
    • - Overall Benefit (Numeric: 1 to 100), and
    • - Project Risk (Single-select Drop down: Very High to Very Low).

    These are required to match the standard portfolio parameters on the project, so that you can later copy them into your project. Lastly, create a custom formula field “Project Score” that will take in these project attributes and arrive at a potential score for the new project.

  5. Create a ‘Project Requests Queue’ report for viewing your incoming project request pipeline (ReportsAll ReportsNew ReportProject Approval).
    In the Output tab, select ‘Tabular’ and choose all columns that are important for your executive approval. Make sure to include the “Project Score” in the list so that you can directly see the calculated score for each project request in the pipeline.

New Project Requests

Each new project enters the system through a project approval request. The ‘Project Queue’ report that we created comes handy in viewing the incoming project requests and ranking/re-ranking them based on your criteria.

  1. Go back to your Project Approval App definition (AdministrationCustom AppsApps) and mark this as “Active”. Now this app is available to your users for submitting new project requests.
  2. For each of your new projects, create a project approval request in the system (AddProject Approval).
    Since a project container is not created as yet, create this app within a workspace (if you have defined workspaces) or select non-project (if there are no workspaces in your company). You will have to establish scoring values for each project request and put them in the respective custom fields on the New Project Approval form.
  3. As your request is approved, you will need to create a project container for your new project (AddProjectNew Project).
    Enter the necessary information (such as tentative start date, client, budget, etc.) about this new project in the form. Keep the project in ‘What-if’ state. This way it does not interfere with your other active projects. Additionally, copy over all the scoring parameters from the project approval request into the project’s portfolio section and the defined custom fields.
  4. Now move the project approval request associated with this new project under the project itself (Go to the said Project Approval itemMoreMove and select the new project from the list). This way, the approved request stays within the project’s repository.

Desired Portfolio Balance

Now that you have created all your project containers, you will need to validate them against your available resource capacities and revise them based on resource availabilities, priorities and strategic importance.

  1. Check available resource capacities. Go to ReportsAll ReportsResource Capacity. This is a built-in report that gives you insights into your organizational resource capacities for the near future. Looking at this report you can get a good idea of how your existing resources are stacked up to take in the new projects in your portfolio. You can increase the default period in the report to get farther insights into your resource capacities. You can also search for resources with specific skillsets by using the “Resource: Search” filter.
  2. Now, for each project, define the WBS and resources. Since the project is in ‘What-if’ state, it will not affect your existing project workload. Open the Resource Load View (ViewResource Load). From the filters, add ‘What-if’ to your Project State filter. Now your Resource load will start showing your new projects in addition to your draft and active projects.
  3. Use the Resource Load View to conduct a rudimentary what-if analysis to understand the impact of your new projects onto the existing resource load.
  4. From the Resource Load View, you can
    Check if there are any resourcing problems You can replace resources, if necessary. Mouseover the task in contention, and select the 3-line menuEdit Resources. You can also shift out tasks by changing their dates (Mouseover task3-line menuEdit Task)
  5. If you still have a resourcing issue, change the start date of the other low priority projects so that all other tasks in those projects are rescheduled. However, please note that Celoxis does not currently support an UNDO feature. If you need to revert, you will have to manually revert the project to its earlier state.

Portfolio Reports

Celoxis gives our several best practices portfolio reports for managers and executives that you can use out-of-the box. You can also create your reports.

  1. Budget Allocations

    This is a bar chart report that lays out budget allocations per manager aligned by their projects’ start month and year. This gives a visual insight into your approved budget allocations for managers and their projects.

    Budget Allocations
  2. Project Portfolio Analysis

    This bubble chart gives you a good 30,000 feet overview of how your projects are aligned with organizational strategy and financial or operational benefit. The color coding on the bubbles indicates the perceived risk from the project.

    Project Portfolio Analysis
  3. Projects (By Schedule)

    This is a tracking report that gives you an overview of all projects in your portfolio and their schedule status.

    Projects (By Schedule)
  4. Project Status (Gantt)

    This is timeline view of all projects in your portfolio. Again a tracking report, and gives managers and executives a good overview of how the projects and their top-level tasks are lined up with their schedules.

    Project Status (Gantt)
  5. Cost Overrun

    Cost Overrun is a tabular report that identifies projects whose actuals costs have exceeded their estimated costs.

    Cost Overrun
  6. Resource Capacity

    With this time-phased report, executives and project approvers can get a clear picture of your resource capacity at any point and make better resourcing decisions for new projects.

    Estimated Capacity (%) = 1 − Estimated UtilizationActual Capacity (%) = 1 − Actual Utilization
    Resource Capacity
  7. Resource Utilization

    This report can help track the utilization of resources against the plans.

    Estimated Utilization (%) = Estimated Hours ÷ Hours (Available)Actual Utilization (%) = Actual Hours ÷ Hours (Available)
    Resource Utilization
  8. Resource Efficiency

    This is an excellent report for monitoring resource performance.

    Efficiency (%) = Estimated Hours ÷ Actual Hours
    Resource Efficiency

ProjectsHow-To

Budgeting and Costing

Open article

Cost is one of the important components of the project management triangle. Celoxis makes it very easy to track budgeting and costing for entire projects, as well as the individual tasks. After following this simple how-to manual, you will be able to easily arrive at the realistic project budget, keeping an eye on the breakdown budgets of the individual tasks. You will also learn, among other things:

  • How to specify Fixed and Material cost of each task
  • How to properly allocate human resources
  • How to track financial state of the projects and tasks through important metrics like Project/Task Estimated Cost, Actual Cost and the Visual Health Indicators.

Arriving at your Project’s Budget

To Budget for a project you must first know what it will cost to execute the project. Once the execution value is established, add a buffer, and a desired margin (if applicable) and you will arrive to a realistic budget figure. Here is how you do this:

First, for each resource you specify a Cost Rate per hour. This will typically be the salary you pay the resource or it could be an hourly rate for a contractor.

Adding user’s cost rate

The next step is to create the tasks for your project and assign resources to each task. Celoxis then automatically calculates the cost of the task based on the Cost Rate and the allocated effort of the resource. For example, if Alison’s rate is $50phr and she is projected to work for 10 hours on a given task the cost will be 10*50 = $500. If John (another resource) was to also work on this task, his cost would be added as well. Combined, the costs of Alison and John will constitute the task's labor cost.

Displaying Planned Cost in the Gantt Chart

Now let’s say you had to purchase computers worth $1000 for the task #2 on the figure above. You can enter this amount in the Planned Non-Labor Cost field for a task.

Edit Task dialog

Now the Planned Cost of this task will be $1500 (i.e. $500 + $1000)

Updated Estimated Cost in the Gantt Chart

Once you complete this activity for all tasks in your plan, the total sum of Planned Costs of all the tasks will be the Planned Cost for the project. You will use the Planned Cost as a base for the budget of your project.

To see the project’s Planned cost, turn to the Financials section of the Project Details tab.

Estimated Cost in the Project Details >> Financials section

Add your buffer/desired margin to the Planned Cost to set the project’s budget.

Edit Project dialogue

Tracking Actual Costs

When the work on the project begins, and through the duration of the project, all resources will be filling their timesheets to log the actual hours they spend on each task. Once these hours are approved by the manager, they are used by the system to automatically calculate the Actual Cost of each task. For the non-labor cost, such as the purchase of computers, a resource must add Expenses to the corresponding tasks. The expenses will constitute the Actual Material Cost of each task, and will be added to the overall Actual Cost. Just like in the case of the logged hours, each expense will need to be approved by the manager before it can be factored into the Actual Cost of the task.

Timesheet
Expenses dialogue

Displaying the appropriate columns in the Interactive Gantt will allow tracking of the Budget Status of each task, along with the Actual Effort.

Tracking budget in the Interactive Gantt

As your team updates status on tasks and log hours or expenses, Celoxis automatically and instantly calculates the Projected Cost for each task. This allows the “early warning” mechanisms such as Budget Health RAG indicators to warn you beforehand if your costs are going to exceed the budget (or estimates). For example, if a task is 50% completed, and has already incurred the cost of $100, then the projected cost of the task is $200.

RAG indicator for the budgetary health of tasks (and for the project)

  • Off Track - if the Actual Costs exceeds the Budget. If Budget is not specified, then it considers the Estimated Cost.
  • On Track - if the Projected Cost is less than or equal to the Budget (or Estimated Cost, if Budget is unspecified).
  • At Risk - if the Projected Cost exceeds the Budget (or Estimated Cost, if Budget is unspecified).

This makes it easy to track the budget status for each task individually. However, in most cases you are likely to be more concerned about the overall health of the project. This information is always conveniently displayed next to the project name.

Project health indicators

For the basic metrics of the Project’s financials, turn to the Financials section of the Project’s Detail tab.

Project Financials

Manager and Executive Cross-project Reports

Below are just few examples of the helpful and easy-to-generate reports which can additionally inform you about budget allocations, actual costs and other financial aspects across multiple projects. Each report can be easily configured, grouped, ordered or turned to a visual chart to your liking.

Budget Allocations by start/month
Cost Overruns - Status of all tasks across projects where actual costs exceed the budget/estimates
Estimated vs Actual Costs across projects
Project Financial Health

Other Scenarios

  1. My projects have a pre-allocated budget. Can the system alert me when the planned costs risks exceeding this value?

    Yes! Set the project’s budget in the Advanced tab of the Edit Project dialogue, and watch for the financial health indicator of the project. The RAG indicators will warn you if the project’s budget will get off track.

  2. Some of my tasks incur a fixed fee. How do I account for it?

    Make sure to add the Fixed cost under the Advanced tab if the Edit Task dialogue. Then the cost of the task will be calculated automatically when you update the completion progress. For example, if the fixed cost is set to be $1000, and the task is %30 completed, the Actual Cost of the task is %30 of $1000 = $300.

  3. Some of my tasks may have a budgetary cap which should be met, regardless of who handles the task. How to set this up?

    Same as with the budget of a project – set the budget under the Advanced tab of the Edit Task dialogue, then watch for the RAG health indicators. Make sure to display the Budget Status column in your Interactive Gantt to keep the status of each individual task visible.

  4. We don’t book our resources in the initial project validation stage. How can I arrive at estimated costs with knowing my resources?

    Create “virtual” users such as Project Manager, Graphic Designer, Web Developer, etc. Set each virtual user with the appropriate cost for the given role. Allocate the work for the virtual users - this will help you to arrive at the projected cost of the project. Once the project team was named, use the Resources >> Replace a resource function of the Interactive Gantt to replace each virtual user with the actual resource. Note that the allocated hours will remain intact after the replacement.

  5. We have different resource rates for certain projects. How can I achieve that?

    You can specify the project-specific cost rates for every user and for every project using More >> Cost Rate function. If the cost of the user is not specified for the project, it will default to the cost set in the Edit User dialogue.

  6. What happens when there is a cost adjustment to resources with projects in progress?

    The cost for the work already performed will be calculated at the previous rate. The cost of all future work will be calculated using the new rate.

  7. How do I account for an unplanned expenditure on my project?

    Any unplanned expenditure should be added as an expense to an appropriate task(s) of the project. For example, let say that per manager’s approval a resource has purchased a single-user license for a graphic editing software. The cost of the license should then be added to the very task that the software will be used on. Note that the expense will need to be approved by the Project Manager before it can be factored into the cost of the task.

  8. Can I categorize the activities and expenses incurred across my projects for management reporting?

    Yes. Multiple time and expense codes can be set by the Celoxis administrator in the Timesheet and Expenses sections of the Administration page. Typical expense categories may include Travel, Meals, Office Supplies, Vendor fees, etc. Typical time codes may include Meetings, R&D, Marketing, Training and Onboarding, PTO, Vacation, etc.

  9. Does Celoxis support the Project Baseline?

    Yes. Exactly one baseline can be set per project, covering either the entire project, or selected tasks. You can then compare the moving project timeline with the previously set baseline. Since only one baseline exists per project, setting new baseline will override the existing one. Please refer to the Working with Baseline guide in our How-to series.


Conclusion/Final Points

The Celoxis functionality covered in this document are just some of the techniques you can use to your advantage when tracking budgets and costs of your projects. The cross-project reports representing multiple views and slices of your projects’ data can be created, configured and shared easily, forming an accurate at-a-glance view of individual accounts, project portfolios and the entire organization. The multiple input and output data points, including but not limited by those listed below can easily be represented in various reports and visual charts, placing all the crucial data at your fingertips. Just remember that even for the most comprehensive and sophisticated systems, the output data is going to be only as good as your inputs. Always encourage your team to track the required financial data accurately, and enter the time and expense information in a regularly and diligently manner. Then, just leave the rest to the system to supply you with the accurate real time project health representations.

Input fields by you

Project Budgetcap on the amount that will to be spent on the execution of the project
Task Budgetcap on the amount that will be spent on the execution of a task
Task Estimated Material Costestimated amount to be spent on the materials (non-human resources) for a task
Task Fixed Costfixed amount that will be spent on the execution of a task
Resource Cost RatesUsers’ hourly cost rate
Resource Allocationspecifying which resources will work on which tasks, and for how long (% of allocation, or number of hours)

Some of the outputs that help tracking the projects’ and tasks’ health

Project Estimated CostSum of the estimated cost of all its tasks
Project Actual CostSum of the actual cost of all its tasks
Task Estimated CostTask labor cost + estimated material cost + fixed cost
Task Actual CostSum of approved time, expenses and accrued fixed costs
Visual Health IndicatorColored RAG On Track/At Risk/Off Track labels, indicating the status of the cost in comparison to the its budget (if specified), or its estimated cost. This is shown for each task as well as the project

ProjectsHow-To

Project Billing

Open article

Celoxis provides your organization with two flexible billing models: User based, and Time code based (also know as activity based billing), making it easy to track the billing amounts for different types of projects. Furthermore, Celoxis allows you to have the projects of Fixed price, as well as Hourly billing types, providing for both the flat fee and the time-and-material billing approaches. By following this simple how-to manual, you will be able to easily arrive to the estimated, and actual billing amounts for your invoices, regardless of the billing model your company follows. After studying this manual, you will learn about:

  • Setting up the organization’s billing model
  • Setting up project’s billing type
  • Setting up bill rates
  • Tracking actual and estimated billing amounts
  • Valuable billing-related input and output metrics

Setting up your organization’s billing model

When setting up Celoxis for the first time, one of the major decisions that will affect every project in the system, is to adopt one of the two available billing models:

  • User based
  • Time code based

This is done on the Timesheet section of the Administration page. You must have the Administration rights to access these settings. Select the appropriate billing model to instantly affect the settings for the entire system.

Company’s billing model

In the User-based model, separate bill rates will be added for every billable user in the system. The rates then will be factored into the billing amounts for the projects, both actual and estimated.

To provide the default billing rate for a user, open the user’s settings and enter the desired hourly amount in the Bill field of the Default Rates ($/Hour) section in the Basic tab

User’s Billing Rate

For every user in the system you can have default/company billing rate which will automatically apply to every project. At the same time, you can override rates for any given user on any given project. See the Other scenarios, and frequently asked questions section for more information on this subject.

The billing amount for this model is calculated by multiplying the number of billable hours entered by each user into the timesheet of the project, by the billing rate of the user.

To provide the default billing rate for the time code, navigate to the Administration page (you must have the Admin privileges) and follow the Time Codes link in the Timesheet section. Enter the desired hourly rate amount into the Bill field. Note that the Bill field will only be available, if the company’s billing model is set to Time code based.

Time Code Billing Rate

Setting up project’s billing type

Celoxis allows you the flexibility to specify Fixed Price or Hourly billing type for each project.

Setting up billing for the Fixed Price projects

In a Fixed Price billing type, the tasks you undertake and bill for, are for a fixed pre-defined price.

To set the project to the Fixed Price type, navigate to the Financials section of the Advanced tab in the Add/Edit Project dialogue. Note that the different billing models are only available to the client projects. For the projects where the client is not specified, the Billing Model field will stay hidden.

Selecting the Fixed Price option from the Billing Model dropdown, opens the new Fixed Price field, allowing you to enter the amount you are planning on invoicing.

When you opt for this type, the ‘billable’ option for expenses and time entries in the project is not checked, by default.

Project’s Billing Type
How rates work for Hourly projects

When you choose Hourly from the Billing Model dropdown, the billing amounts are calculated from the hours that the users log in their timesheets. The bill rate of each user is taken either from user’s settings or from the time code, depending upon the company's billing model.

When this billing type is used, the ‘Billable’ option for expenses and time entries in the project will be automatically checked, by default.

Tracking Actual Billing Amounts

With the billing rates set, the actual billable amount for each task is calculated using this formula, which takes in consideration both the labor and the material bills:

Amount (Act, Billable) of a task = Hours (Act, Billable) × Bill rate + Approved and Billable expenses on the task

Amount (Act, Billable) of the project is calculated from the sum of the amounts of the project’s top tasks. Depending upon the org billing model, the bill rates comes from either the user’s bill rate or from the time codes picked in the timesheet.

Time Code column on the timesheet
Expenses dialogue

For example, if a resource working at the bill rate $30phr reported 10 billable hours for a task, and the project manager approves the $1000.00 billable material expense for the same task, the Amount (Act, Billable) for this task will be calculated as follows:

Amount (Act, Billable) = 10hrs × $30phr + $1000 = $1300.00

Celoxis provides another useful indicator that captures the estimated billable amount for all the labor effort on the project. Amount (Est, Billable) is calculated by using a similar formula, as the sum-product of user's bill rate and estimated hours on that task.

Amount (Est, Billable) of the project is calculated from the sum of the amounts of the project’s top tasks.

Project Billing columns showing Estimated vs Actuals

Note that the Amount (Est, Billable) is available and calculated only when the User based billing model is used. In addition, with the User based billing, if project's billing type is Fixed Price, the estimated billing for the project equals the set fixed price and therefore does not provide estimated billing values at the task level.

For Time code based billing, estimated billing cannot be calculated, thus the Amount (Est, Billable) column is not available.

Celoxis also lets you keep track of time entries and expenses that have been invoiced. The Invoice status of the items for any given task can be seen in the Task Details dialogue.

Expenses Invoicing Status

On the organization level, you can also create a cross-project report that shows per project:

  • Amount (Expense, Invoiced)
  • Amount (Time, Invoiced)
  • Hours (Invoiced)
Invoiced amount-related columns

Manager and Executive Cross-Project Reports

Below are just few examples of the helpful and easy-to-generate reports which can additionally inform you about important billing metrics. Each report can be easily configured, grouped, ordered or turned to a visual chart to your liking.

Billable expenses across all projects
Cross project billing report, including invoiced amount
Cross project billing summary report
Org mix of Hourly vs. Fixed Price projects

Other scenarios, and frequently asked questions

  1. What happens if I change the company’s billing model?

    This is a major step that may impact the running projects as well as the visible column of the financial reports. Please refer to the Switching between Billing Models article for the complete list of the potential ramifications.

  2. Why are there the "None" options for the company’s and the projects’ billing models?

    The company billing model should be set to None if your organization does not do billing, or if for some reason you do not want to track your billing in Celoxis.
    Setting the billing type to None at the project level means that no billing is done for this particular project. This is helpful for internal project, proof of concepts, or pro bono initiatives.

  3. We have different billing rates for certain projects. How can I achieve that?

    You can specify the project-specific billing rates for every user and for every project using More >> Billing Rate function. If the billing rate of the user is not specified for the project, it will default to the rate set in the Edit User dialogue.

  4. What happens when there is a billing rate adjustment to the users with projects in progress?

    The actual billing amount for the work already performed will be calculated at the previous rate. The amount of all future work will be calculated using the new rate. If you have any saved entries, and the rate has changed before the entries were committed, the new rate will be used upon commit and approval of the entries.

  5. What happens when there is a bill rate adjustment to the time codes with projects in progress?

    Similar to the users’ billing rates, the billing for the work already performed will be calculated at the previous rate. The billing of all future work (including any saved time entries) will be calculated using the new rate.

  6. Why some of the time entries and expenses are automatically marked as Billable, while others are not?

    Whenever new time entries or expenses added to the projects, they can be marked as billable or non-billable. The project billing model determines the default behavior for the billable checkboxes.

    • Fixed Price model – billable is unchecked by default
    • Hourly model – billable is checked by default

    This default behavior takes in consideration that with the Hourly model, the hours must be tracked in order to generate the proper client invoices, while in the Fixed Price model the invoicing is based on the fixed price but is not affected by the actual efforts spent by the project resources.

  7. My projects are fixed-price projects. How can I track milestone payments?

    Please refer to the detailed guide on Milestone-based Billing.

  8. Do you provide integration with any accounting software?

    Yes, Celoxis has an out-of-the-box integration with QuickBooks Online for managing and recording invoices. Here’s the link to a short video.


Conclusion/Final Points

As with any type of data, the billing in Celoxis depends on the accuracy and thoroughness of the inputs provided by project managers, administrators and other users. Please make sure you take time discussing the parameters of Celoxis implementation before the system is deployed to the organization, to arrive to the most optimal billing model for your company. By the same token, please make sure your project managers are aware of the differences between the project billing model, and are using the correct model for every project. Finally, encourage your project managers to keep an eye on the users, and time codes’ billing rates, to guarantee that the accurate billing data exists across all projects in the system.

The following input and output fields exists in the out-of-the-box configuration of Celoxis to help with your day-to-date billing needs

Input fields by you

Company billing model (Requires administrator privileges)User basedWith this option, you can enter bill rates for every user and these will be applied for calculating the estimated billing and actual billing amount for the projects. The bill rates can be entered while adding/editing users (Company rates) and can be overridden at the project level. Time code basedWith this option, you can enter billing rates against the time codes or services provided by the user. The time codes can be defined at the company level. The rates for these time codes can be entered at company or at project level. NoneBilling model remains undefined. Use this option if you do not plan to do billing in Celoxis.
Resource Billing RateIf the Company billing model is User based, these user bill rates are used to calculate the Estimated Billing and Actual Billing of tasks. Rates defined at a company level can be overridden at a project level.
Time Code Billing RateIf the company billing model is Time-code based, the bill amounts are computed from the rates defined against the Time codes. Time codes rates defined at a company level can be overridden at a project level.
Project Billing ModelFixed PriceIn a Fixed Price billing model, the tasks you undertake and bill for, are for a fixed pre-defined price. When you opt for this model, the ‘billable’ option for expenses and time entries in the project is not checked, by default. HourlyIn an Hourly billing model, the billing is based on the number of hours spent. When you opt for this model, the ‘billable’ option for expenses and time entries in the project is checked, by default. The applicable billing rate depends on the company level setting and can either be User based or Time code based. When the time or expense is approved, billable amount is automatically updated for a task. Billable amounts of individual tasks are rolled up to the summary task and eventually to the project level. NoneProject billing model remains undefined. There is no billing for this project.
Fixed PriceThe fixed amount to be billed for this project. Available for the project with the Fixed Price billing model.
Resource AllocationAllocating resources for the tasks of the projects is extremely useful for estimating the billing amounts in the user-based billing model.

Some of the outputs that help with the projects’ billing

Amount (Est, Billable)This is the estimated billing amount that the project might incur for completion. This column is only visible when you do user based billing. It is calculated as the sum of estimated billable amounts of all top-level tasks. If the Project's billing model is "Fixed Price" Billing, Amount (Est, Billable) equals Fixed Price value
Amount (Act, Billable)This is the actual billable amount for the project or task.
Amount (Act, Billable) of project = Amount (Act, Billable) of all topmost tasks.
Amount (Act, Billable) of task = Hours (Act, Billable) * Bill rate + Approved expenses marked as billable.
Amount (Invoiced)Sum of billable amounts of all expenses and all time entries that are marked as invoiced.
Amount (Expense, Invoiced)Sum of billable amounts of expenses that are marked as invoiced.
Amount (Time, Invoiced)Sum of billable amounts of time entries that are marked as invoiced.

ProjectsHow-To

Managing Scrum Projects

Open article

Celoxis is a very flexible platform and quickly adjusts to manage your scrum projects. In this document, we will show you how to setup your projects for Scrum. With Celoxis, you can quickly define and manage your product backlog as well as plan and run your sprints.

Managing the Product Backlog

  1. Create your Scrum Project with a suitable name (AddProjectNew Project). Start: Date when your first sprint is scheduled to start Manager: Select a user who is the Product Owner/ Scrum Master. Client: Select the project’s client.
  2. Now, create a task called “Product Backlog” which is a summary task. This is where the Product Owner will plan and manage backlog items for sprint planning.
  3. For each user story, the Product Owner will create a task in the Product Backlog Project. The Product Owner will not define any resources or dates at this point. So leave the default dates as-is for every user story added.
  4. The backlog should be groomed regularly by the Product Owner, stacking up the stories as per their priority and assigning relative size to them. To assign relative size to items (tasks), create a single select custom field “Story Points” using the famed Fibonacci series options. Attach this custom field to tasks and add the column to your Gantt.

Planning Sprints

  1. Create your Sprint 1 task (From Gantt click AddTask).
    Each Sprint will be represented as a summary task in Celoxis.
  2. Next, expand the Product Backlog and look for stories that the Product Owner, the Team and the Scrum Master think make sense to be done in this sprint. The selection should made based on the target velocity that the team decides for the sprints. Select user stories whose Story Points add up to this target velocity.
  3. Move the selected user stories from the Product Backlog into your Sprint as subtasks under Sprint 1 (Summary Task)
  4. Once the user stories are picked up for the Sprint, your team gets to decomposing them into smaller activities or subtasks.
  5. For each of these activities, the team selects the appropriate dates and assigns resources and estimates the effort.
  6. Once all stories are converted into tasks, review the sprint to make sure its duration adheres to the sprint iteration. Despite the fact that sprint’s Story Points hits the target velocity, some tasks or activities required to complete them may affect the fixed iterations. In this case, you will need to work with your team to reshuffle the work or remove one of the stories from the sprint (i.e. move it back to the Product Backlog)

Running Sprints

  1. Once your sprint is loaded and your project is Active, your team can get the work done. Your team can also update the Status field which depicts the current status of the task in the sprint.
  2. As they work through the items, they can fill Timesheets to log the actual hours spent on each task. Once these hours are approved by the Scrum Master, the system will automatically update the Remaining Work on the task.

Sprint Status Report

This is tabular report that gives you a real-time picture of all the stories in your current sprint.

The Line chart helps you to understand what is planned and actual efforts for specific period or sprints.


What you don’t get

Burn down charts - Currently, we do not have burn down charts. Our product and engineering teams are working to make this happen in Celoxis.

ProjectsHow-To

Project Baseline

Open article

You can baseline a project and its tasks, and, in the future, compare actuals versus the baseline values to understand the deviation. Celoxis also supports Earned Value Analysis (EVA). In most scenarios, you would want to think of baseline as the "original estimate". In such cases, you would baseline the project just before kick-off. Celoxis currently supports only one baseline.

Creating a Baseline

Go to the project's gantt chart by clicking on Project ActionsGantt. Then click on ToolbarBaselineSetProject. At any point in time, you can also choose to add or reset baselines of selected tasks. For example, if the scope increased and new tasks were added, you can add only these new tasks to the baseline by selecting this tasks and clicking on ToolbarBaselineSetSelected Tasks.

The following fields are baselined:

  • Planned Start
  • Planned Finish
  • Planned Effort
  • Planned Cost
  • Budget

Visualizing the Baseline

Go to the project's gantt chart by clicking on Project ActionsGantt. Then click on ToolbarBaselineView.

Reporting on Baselines

Once you baseline project, the entire Earned Value Analysis (EVA) attributes like BCWS, BCWP, EV, PV, CPI and SPI are available in project and task reports. If you would to know more about earned value analysis, please read our blog article.

There are many baseline related columns available in projects and tasks.

ProjectsHow-To

New Projects Impact Analysis & Workload

Open article

Over the course of normal business, projects need to be properly re-evaluated for appropriate reprioritization. Often, at executive management directive, managers need to address an incoming high priority project request drop into the mix of pre-existing projects. This guide addresses how to:

  1. Assess the impact of a new project on the existing resource workload,
  2. Identify under-utilized or free resources,
  3. Replace resources on tasks,
  4. Shift out certain tasks to level out the workload,
  5. If needed, shift out a low priority project completely to a later date.

Assessing Impact of New Project on Existing Workload

  1. Create a new project state, say Requests (AdministrationProject ManagementProject States). Keep this new state in “Planning” stage and disallow time. This helps keeping the new project requests separate from the regular projects.
  2. Create a project for your new project request and keep it in “Requests” state (AddProjectNew Project). Enter the planned start date for this project.
  3. From the project’s Interactive Gantt tab, define the WBS and resources. Since the project is in “Requests” state, it will not affect your existing workload.
  4. Access the Resource Load (ViewResource Load). By default, this view will show you pre-existing planned and active projects.
  5. Edit Filters and Add “Requests” to the Project State Filter. Click on Apply. Now, your resource load view will immediately show you the impact that any new project requests will have on the existing mix and workload.
  6. Because of the new project request, the impact on the existing workload is high and a lot of resources are overallocated.
  7. You can download this view (Select “PDF” option from the top right button group) and send this to your executives to show the direct impact of the new requests on the existing mix of projects.

Identify Under-utilized or Free Resources

From the same Resource Load View, you can easily identify the under-utilized or free resources. These are the resources that are color-coded as blue.

Replace Resources on Tasks

You can directly replace resources on problematic tasks (Mouseover the task in contention, and select the 3-line menuEdit Resources)

In the example below, you can Edit the “Survey commercial spaces” task and reassign it to Tanya who is relatively free in that period.

Shift out Tasks

There could be situations where free resources are not readily available. In such cases, you may need to shift out certain tasks that are of low priority and can be easily shifted out. To do this,

  1. Mouse over the appropriate task.
  2. Click on the 3-line menu.
  3. Select Edit Task. Here you can change the task’s start date to a later one.

Shift out Low Priority Projects

If you still have a resourcing issue, change the start date of the other low priority projects so that all other tasks in those projects are rescheduled. To do this,

FAQ

ProjectsFAQ

Can I have multiple managers managing a single project?

Open article

Yes, it is possible to add a secondary manager who can monitor the project.

To do so, click on a project to open its panel and then click Project ActionsMoreAccess Control. In the new pop-up, click on the user icon for Project Manager and then select the user(s) you wish to add as secondary managers.

These users will be visible on the project's panel page under the Overview tab.

ProjectsFAQ

Is there any way to not show the completed projects in reports without deleting them?

Open article

The Filters set in the report controls what data you want to see in the reports.

So, to remove completed projects from your view, you need to edit the report and ad the Filter Schedule Status and check all the options in the drop-down except the Completed value. Save the report for the new filters to be applied.

Back to contents

Tasks

26 articles

Concepts

TasksConcepts

Summary Tasks

Open article

If a task has child tasks, then it is called a summary task. Many attributes of summary tasks are rolled up from its child tasks. Some of the non trivial attributes are described below.

Start Date (planned/actual/projected)
It is the minimum of planned/actual/projected start date of its children.

Finish Date (planned/actual/projected)
It is the maximum of planned/actual/projected finish date of its children

Work (Effort)
It is the sum of work of its children.

Constraints
Constraints are not applicable for summary tasks.

Resource allocation
Resources assigned to a summary task will not be factored into the planned cost of the summary task, nor displayed on the resource load charts.

% Complete

% Complete = (W1×P1 + W2×P2 + ... + Wn×Pn) ÷ (W1 + W2 + ... + Wn)

For all

leaf-level descendants where

is the work and

is the % complete of its

descendant.

Predecessors
If a summary task has a predecessor, the system considers it to be equivalent to having that predecessor for all its children.

Auto/Manual Scheduling
Since the planned start and finish are calculated from its children, summary tasks are always considered to be auto scheduled.

Budget/Costs/Billing
It is the sum of the budget/costs/billing of its children.

Duration
It is the working time between the task's start and finish date as per the project's work calendar

TasksConcepts

Predecessors

Open article

A task's predecessors are tasks that affect its start or finish date.

In the Build farmhouse project, consider two tasks Buy land and Flatten land. You cannot start the land flattening process unless the land has been purchased. Hence, Buy land is a predecessor of Flatten land. Flatten land is called the successor of Buy land.

Once predecessors are entered, that task's start and finish dates are always kept up-to-date by the system when any of the predecessors are rescheduled. In the above example, if the finish date of the Buy land task is pushed ahead by 10 days, Celoxis will automatically push the start date of Flatten land by 10 days.

Types of predecessors

Finish-Start (FS)The successor task (S) cannot start until its predecessor task (P) has finished. (Most common)
Start-Start (SS)The successor task (S) cannot start until its predecessor task (P) has started.
Finish-Finish (FF)The successor task (S) cannot finish unless its predecessor task (P) has finished.
Start-Finish (SF)The successor task (S) cannot finish unless its predecessor task (P) has started. (Rarely used)

Lead Time

In some cases, when a task is nearing completion you may want to begin another task. For instance, 3 days prior to the construction of the walls of your home is completed, you may want to start selecting the color of the paint for the walls. So, for the

task you will select the

task as the predecessor and enter a lead time of 3 days. Lead time is specified as a negative number. E.g. -3d indicates a predecessor with 3 days lead time.

Lag Time

Sometimes a task cannot begin as soon as another task is completed. For example, once you paint the walls, it may take another 2 days for the paint to dry and only then you can begin furnishing the room. In this case, you would select the

as the predecessor of the

task and enter a lag of 2 days. Lag time is specified as a positive number. E.g. 4h indicates a predecessor with 4 hours lag time.

Setting predecessors

Predecessors can be set using the interactive gantt chart or from the add/edit task form. On the interactive gantt, you can set predecessors using:

  • Drag-Drop: you can drag from the beginning or ending of a predecessor to the beginning or ending of a successor to create any of the four dependency types.
  • Predecessor Column: you can enter the serial numbers of a tasks's predecessors separated by the semi-colon character. E.g. 2;3
  • Successor Column: you can enter the serial numbers of a tasks's successors separated by the semi-colon character. E.g. 5;6
  • Edit Task Screen: selecting a task and pressing the e key (or Right ClickEdit) will open the edit task form. You can edit the predecessors as described earlier.

Setting inter-project predecessors

Inter-project predecessors can only be entered from the add/edit task screen. Open the task form using Task ActionsEdit and go to the Predecessors tab. Add a row. First pick the project and then the task dropdown will be populated with tasks from that project.

Note that inter-project dependencies cannot be edited from predecessors and successors columns in interactive gantt.

TasksConcepts

Constraints

Open article

Constraints are applied to your tasks to impose restrictions on the way the task's start and finish dates are calculated. Often, they represent real world conditions. Examples:

  • The last date to submit a bid is 20th May 2018
  • Application testing can begin only after the phone is available in the market on 1st October 2020
NameAbbrreviationDescription
As Soon As PossibleASAPSchedules the task to begin as early as possible. This is the default constraint for new auto-scheduled tasks. For stand-alone tasks, this will always schedule tasks from the project's start date.
As Late As PossibleALAPSchedules the task as late as possible, without delaying subsequent tasks. For stand-alone tasks, this will always schedule tasks backwards from the project's planned finish date.
Start No Earlier ThanSNETSchedules the task to start on or after a specified date. Use this constraint to ensure that a task does not start before a specified date.
Start No Later ThanSNLTSchedules the task to start on or before a specified date. Use this constraint to ensure that a task does not start after a specified date.
Finish No Earlier ThanFNETSchedules the task to finish on or after a specified date. Use this constraint to ensure that a task does not finish before a particular date.
Finish No Later ThanFNLTSchedules the task to finish on or before a specified date. Use this constraint to ensure that a task does not finish after a particular date.
Must Start OnMSOSchedules the task to start on a specified date.
Must Finish OnMFOSchedules the task to finish on a specified date.

We recommend that you use MSO and MFO only when absolutely required as they cause the schedule to be unnecessarily inflexible.

Setting Task Constraints

Task constraints can be set directly from the constraint columns or from the add/edit task screen.

TasksConcepts

Milestones

Open article

Milestones are major checkpoints in a project. They can indicate the completion of key project tasks, the commencement of a phase or conclusion of the plan. For example, in a software development project, Research Complete can be a milestone that indicates that all the research activities have been completed and the project is now ready to move to the next step of preparing a Requirements Specification document.

In Celoxis, milestones are tasks that have zero duration and represented by a diamond symbol (◆) in the gantt chart.

Creating milestones

From the Interactive Gantt, click Gantt ToolbarAddMilestone.

To convert an existing task into a milestone, set its duration as zero.

Recommendations

  • Set predecessors to your milestones. Doing this will illustrate the impact to your milestones.
  • Set deadline (FNLT) constraints on milestones only if necessary as it will make it difficult to flexibly re-plan activities around your milestone.
  • Indent milestones so that they appear under the correct WBS element

TasksConcepts

Critical Path

Open article

Critical tasks are those tasks which if slipped, could cause delays in the project. The critical tasks can be thought of as the longest dependent sequence of activities in a project plan which must be completed on time for the project to complete on the planned finish date. Critical tasks are automatically calculated by the system and cannot be manually marked.

Read our blog article on critical path for an in-depth look on this topic.

Tasks that have MSO/MFO/SNLT/FNLT constraint are also marked critical and will appear on the critical path.

A task stops being critical when it's completed, because it can no longer affect the completion of successor tasks or the project finish date.

Viewing critical paths

You can view the critical path from the interactive gantt by clicking Gantt ToolbarCritical Path.

Monitoring critical tasks

Tasks can be filtered using the Critical filter. Using this, for example, you can create a pie chart of critical tasks divided by their RAG indicators. Critical is also available as reporting attribute for tasks.

TasksConcepts

Duration, Work, and Units

Open article

Duration

Duration is the working time between a task's start and finish dates. For manually scheduled tasks,the duration has no significance.

Effort

Effort is the total amount of time resources will spend working on the task. Read our blog article on duration vs effort.

For manually scheduled tasks, if:

  • Allocation is in % – the total work of that task is calculated as the sum: working hours x % allocation for each resource assigned.
  • Allocation is in hours – the total work of that task is simply the sum of the individual allocations.

Units

The total allocation (in %) for the task. If a task is allocated – Joe[100%] and Peter[50%], its allocation is 1.5.

Relationship between D, W and U

The relationship between duration, work and allocation units is critical in understanding automatic scheduling of tasks. It is explained in detail in our

.

TasksConcepts

Task Scheduling

Open article

Schedule is an important pillar of the project management triangle. Celoxis has a flexible and powerful scheduling engine to help you take control of your project schedule.

Task scheduling is the process of calculating the start and finish dates of tasks. In this chapter we will understand how this is done in Celoxis.

We have already seen how start and finish dates of a summary task are calculated from its children. We shall now see how to calculate the dates for leaf-level tasks.

Manually Scheduled Tasks

Manually scheduled tasks are those tasks that have the Manually Scheduled option set. Celoxis never modifies the start and finish dates of manually scheduled tasks. Its predecessors are treated as FYI only and does not affect the start or finish dates.

The only constraint is that if you assign a resource with non-zero allocation, the resource must have non-zero (any value) allocation between the start and finish date of the task

Automatically Scheduled Tasks

Tasks that are not manually scheduled are automatically scheduled. Celoxis always keeps automatically scheduled tasks up-to-date. When a predecessor is extended, when a resource vacation is added, etc. the task dates are kept in sync.

Factors that affect scheduling of an automatically scheduled task are:

  • predecessors
  • constraints
  • effort
  • allocation units
  • resource work calendars
  • default work calendar (if no resource is assigned yet)

Scheduling Logic:

  1. First, the task's predecessors are scheduled. Now all predecessors have correct start and finish dates.
  2. Based on the dependency types, lead and lag, the task's tentative start (or finish if SF or FF predecessors exist) date is calculated. If the task has dependencies on both its start and finish dates (e.g. when a task has both FS and FF predecessors), a date is chosen that satisfies both dependencies. The date can either be a start date or a finish date.
  3. Next, based on the effort and resource work calendars (or the default work calendar if the task is unassigned), the end date (or start date, if the previous step resulted in a tentative finish date) is calculated. To do this, the scheduler simply tries to exhaust the effort as per the allocation and the date when the effort becomes zero is the new finish (or start) date.
  4. Finally, constraints are applied. If this results in a change of start or finish, the new date is taken as a base and the complementary date is calculated in the same way as in the previous step.

TasksConcepts

Task Progress

Open article

The progress of a task is indicated by its % complete attribute. A value of 0% means that there has been no progress on the task while 100% means that the task has been completed. Celoxis rolls-up the percent completes of tasks to calculate the percent complete of the project.

% Complete Methods

There are three methods to update a task's % complete. They are described below with an example – assume that we have a task T with resources Joe assigned 40h and Peter assigned 10h to it.

Last % Entered

The % complete of a task is the last % complete entered for that task by any user. This supposes a working model where the the person updating the % complete knows the overall status of that task. In our case, if Joe updates the % complete of to 50% and then Peter updates the % complete to 25. The % complete of T will be 25%.

Weighted Average of % entered by each assigned resource

The % complete of a task will be calculated as a weighed average of the % completes entered by resources assigned to it. This supposes that when a resources enter % completes, they are indicating their how much of their work is complete, not the overall progress of the task. The % complete of the task is calculated as:

% Complete = (W1×P1 + W2×P2 + ... + Wn×Pn) ÷ (W1 + W2 + ... + Wn)

For all n assignees where Wi is the planned effort and Pi is the % complete of its ith assignee.

Let’s say Joe enters 50% while Peter enters 100%. The % complete of T will be: (50×40 + 100×10) ÷ (40 + 10) = 60%.

Auto-calculated from time logged against the task

In this model, users do not enter the % complete, rather it is calculated based on the time logged against the task. The formula is:

% complete = actual effort ÷ planned effort

Actual effort is the sum of all approved hours for that task.

A few things to note in this model:

  • Users will not be shown the % complete field as that value is calculated.
  • If time logged exceed the planned effort the % will show as 100%.
  • Once a task starts and you think that the task's effort has been over or underestimated, you should decrease or increase the planned effort of the task. Otherwise the task may never show up as completed or may prematurely indicate as completed.

We recommend that this only be used in projects when the time logged will always match the planned effort. E.g. tasks such as “Do 20 hours of research”.

Specifying the % complete method

The default % complete method for tasks can be specified from the project add/edit screen's Advanced tab.

% Complete of Summary Tasks and Projects

% complete of summary tasks and projects is automatically calculated as a weighted average from its descendants as per the formula:

% Complete = (W1×P1 + W2×P2 + ... + Wn×Pn) ÷ (W1 + W2 + ... + Wn)

For all

leaf-level descendants where

is the work and

is the % complete of its

descendant. If a leaf-level task is unassigned, its duration (in hours) is used instead of its work in the calculation.

TasksConcepts

Resource Assignment

Open article

When you assign a resource to a task, Celoxis allows you to specify whether you want the resource to work full time (100%), half time (50%), any other fraction (e.g. 30%) or even a certain amount of hours (e.g. 20 hours).

Entering the correct allocation is important when you want to monitor resource workload. E.g. if Joe is scheduled to work 100% on task T1 from M-F and also 100% on task T2 in the same time period, the resource load chart will show Joe as overloaded that week. This is because the total effort expected by each task will be 40 i.e. a total of 80 but Joe works only 40 hours per week. If you intended that Joe work half the time on T1 and half the time on T2, then you should set Joe's allocation to 50% for both tasks.

If you want to ensure that your resources are optimally allocated, you should enter the correct estimations while allocating resources. Only then can the system show a true picture of the workload distribution.

In the following sections, let's assume that Mary works 36 hours per week, Monday through Friday as:

MTWTFTotal
8848836

Allocation in percentage (%)

When you allocate a resource in % on a task, you tell Celoxis the fraction of time will that resource be dedicated on a task from his work hours.

For example, Mary works 8 hours per day and you allocate her 50% to a task, it means she will work 50% every day. Let's see how the system will allocate her the work per day:

AllocationMTWTFTotal
100%8848836
50%4424418

Allocation in hours (h)

When you allocate a resource to work N hours on a task, it means that that resource will spend a total effort of N hours on that task from the task start to finish. N is proportionally distributed every day as per the resource’s working hours that day.

Let'see how the system would distribute her work if Mary was assigned 9h to a task that ran M-F:

AllocationMTWTFTotal
9h2212218

On a task, you can either allocate resources in % or in hours but not both at the same time.


Assigning resources

There are many convenient ways of assigning, replacing or removing resources on tasks.

To assign resources on single task

On the interactive gantt, click on the resource cell -or- double click on the resources next to the task bar.

On the task overview or tasks list screens, Click on the icon that appear next to the resources.

From anywhere, click on Task ActionsEdit and click on Resources.

To assign resources on multiple tasks

On the interactive gantt, select the tasks and click Right MouseAssign Resources.

To replace or remove a resource on multiple tasks

On the interactive gantt, select the tasks and click Right MouseReplace a Resource. To remove, do not select anyone to replace the resource with.

TasksConcepts

Start, Finish & Duration Rules

Open article

When you create tasks from API, CSV Import or using the Add Multiple action from the gantt, you can create tasks by specifying or not specifying the start, finish and duration attributes. This chapter helps you understand how Celoxis sets the attributes that are unspecified.

In the following table, we shall use S for Start, F for Finish and D for Duration. The symbol manual is set to true if the creator has indicated his preference for creating manually scheduled tasks. Also, auto means that the system will use scheduling logic to calculate that attribute.

What you specifyBehaviour
<Nothing>
if (manual) { 
    S = max(today, project's start)
    F = S + 1d
} else {
    D = 1d
    S = auto
    F = auto
}
S
if (manual) {
  F = S + 1d
} else {
  D = 1d
  SNET = S
  F = auto
  S = auto
}
F
if (manual) {
  S = F - 1d
} else {
  D = 1d
  FNLT = F
  F = auto
  S = auto
}
D
  manual = false
  S = auto
  F = auto
S & F
  manual = true
S & D
  manual = false
  SNET = S
  S = auto
  F = auto
F & D
  manual = false
  FNLT = F
  S = auto
  F = auto
S, F & D
  manual = true

Also, if the task is deemded to be manually scheduled and if S and F were specified but without time i.e 00:00 hours, then S/F time will be set to the start/end working time on their respective weekdays. If that day is a non-working day, then most common start and end times during a work week will be used instead.

TasksConcepts

Task Glossary

Open article
AttributeRead/WriteDescription
NameRWA short description.
Planned StartRWThe date at which the task is scheduled to start.
Planned FinishRWThe date at which the task is scheduled to finish.
Manually ScheduledRWCeloxis will never change the start and finish of manually scheduled tasks. Read More.
DurationRWThe duration of the task. It can be entered in these formats. Read More.
Planned EffortRWThe total hours of effort required to complete the task. Read More.
Schedule TypeRWOne of Fixed Effort, Fixed Duration, Fixed Units. Read More
Constraint Type/DateRWTask constraint. Not applicable for summary tasks and manually scheduled tasks. Read More.
ResourcesRWResources assigned on the task. It can be entered in this format.
% CompleteRWThe percentage of work done. Read More.
Planned % CompleteRWThe percentage that the task is expected to have completed by now. This value is an approximate value and will not be accurate if resources working on the task have working or non-working exceptions in the task duration.
PriorityRWThe task's priority.
Allow Time LoggingRWIndicates if time can be logged against this task..
Actual StartRWThe date on which the task is supposed to have started. When any update on the task is logged, it is deemed to have started. If actual start date was not specified, it defaults to the planned start date or the date of the update whichever is earlier.
Actual FinishRWThe date on which the task is supposed to have finished. When the task is marked as 100% complete, the actual finish date, if not specified, is update to the planned finish date or the date of the update whichever is earlier.
BudgetRWTask budget. Typically, Budget = Planned cost + Buffer.
Planned Non-labor CostRWThe total estimated non-labor cost for this task. E.g. travel, food, software.
Planned Fixed CostRWThe cost that will be incurred on the task regardles of whether time is logged or expenses filled.
IDRThe primary key of the task record in the database.
WBSRThe Work Breaddown Structure (WBS) code of the task
Projected StartRThe date on which the task is expected to start based on the projected finish dates of its predecessors.
Projected FinishRThe date on which the task is expected to finish based on its current rate of progress. For summary tasks, it is max of the finish dates of its leaf tasks.
MilestoneRA zero duration task. Read More.
CriticalRIndicates task is on a critical path. Read More.
Actual EffortRThe sum of approved hours logged for this task.
Projected HoursRThe total hours this task will require to finish based on the current rate of progress. Projected Hours = Actual Hours ÷ % Complete. For summary tasks, it is the sum of projected hours of its leaf tasks.
Actual Billable HoursRThe total hours of approved and billable time logged on this task.
Actual Non-billable HoursRThe total hours of approved and non-billable time logged on this task. This amount can be ised to identify the "missed" billing opportunities for this task.
Planned CostRThe total cost expected to be incurred on this task. Planned Cost = Planned Labor Cost + Planned Non-labor Cost + Fixed Cost
Actual CostRThe total cost incurred on the task so far. Actual Cost = Actual Labor Cost + Actual Non-labor Cost + Actual Fixed Cost
Projected CostRThe expected total cost of a project based on its current rate of spend.
Actual Labor CostRThe total of labor cost for each approved time entry logged on this task.
Update (Last)RThe latest comment or prgress update entered against a task.
Planned Labor RevenueRThe sum of user's effort × user's bill rate for each resource assigned to this task. (Only available if you have user-based billing).
Invoiced HoursRThe total time for all its invoiced time entries.
Invoiced LaborRThe sum of the bill amounts for all its invoiced time entries.
Invoiced ExpenseRThe sum of all invoiced expenses for this task.
Invoiced RevenueRInvoiced Labor + Invoiced Expense
Baseline % CompleteRThe expected % complete of the task based on the baseline.
Baseline BudgetRThe budget of the task when it was baselined.
Baseline CostRThe planned cost of the task when it was baselined.
Baseline EffortRThe planned effort when the task was baselined
Baseline Effort VarianceRThe difference between the planned and baseline effort
Baseline StartRThe task's planned start date when it was baselined.
Baseline Start VarianceRThe difference between the task's planned and baseline start date.
Baseline FinishRThe task's planned finish date when it was baselined.
Baseline Finish VarianceRThe difference between the task's planned and baseline finish date.

Actions

TasksActions

Creating tasks from email

Open article

Celoxis can create tasks from emails sent to it. This is especially useful when you don’t have the application open in front of you or you are on the go.

Emails have to be sent to a specific address and be in a specific format. Task is created from the from, to, cc, subject, body, attachments and priority as described below.

To (special address)

The email address to which the email should be sent can be found under AdministrationProject ManagementTask Inbox. We recommend that you save it as a contact under "Celoxis Add Task” or something equivalent.

From

The user whose email address matches the from email address is considered to be the creator. This user must have Add TaskGranted in the project in which the task is to be created.

To and Cc

Users in Celoxis whose email address matches the email address of the email's recipients are assigned to the task with 100% allocation.

Subject

The subject should start with the name of the task followed key-value pairs of attributes encodes in square brackets. An example is shown below.

Add missing images in footer [project:Fifadom.com][parent:Images]

The above will add a task named “Add missing images in footer” in the project whose code or name is Fifadom.com under the summary task named “Images”.

Project is mandatory, rest all attributes are optional. Attributes supported in the subject are:

ProjectName, code or ID of the project where the task should be created.
StartStart date of the task. You can specify Today, Tomorrow, +5d or enter a specific date in the same format you use in the Celoxis application.
FinishFinish date of the new task. You can specify Today, Tomorrow, +5d or enter a specific date in the same format you use in the Celoxis application.
ParentName of the parent task under which the task should be created. The task will be created last in the hierarchy. If there are multiple tasks with the same name then, the task will be created under the first parent task found.
DurationCan be specified in d (days), h(hours), m(minutes) or mo(months). E.g. 3d.
%% complete of the task

Body

The body of the email becomes the description of the task.

Attachments

All file attachments are attached to the task.

Priority

The value of the X-Priority header is checked to determine the task's priority. If it is 1 then the task's priority is consider High, if it is 5 then the priority is set to Low, otherwise it is set to Normal.

TasksActions

Importing Tasks from CSV

Open article

Celoxis provides you with the ability to import tasks in a project from CSV. If you have a Microsoft Excel file, then you can export it in CSV (comma separated values) format and then import it in Celoxis.

To import tasks in a project, first click on the project and then click Project ActionsMoreImport Tasks (CSV). Alternatively, if you are in the project Gantt chart, you can click AddImport CSV

Fields supported:

  • WBS Code - using this you can create the WBS structure (parent-child relationships) for tasks after import. E.g. If we enter WBS codes as 1 for A, 1.1 for B, 1.2 for C and 1.1.1 for D, and 1.1.2 for E, and 2 for F then on import you will get:
       A
       ├── B
       │   ├── D
       │   └── E
       │
       └── C
       F
  • Name - mandatory
  • Description
  • Planned Start - YYYY-MM-DD format
  • Planned Finish - YYYY-MM-DD format
  • Resources - enter resources in the format described here.
  • Duration - enter in the duration format described here.
  • Work - the effort in hours
  • % Complete
  • Budget
  • Fixed Cost
  • Planned Non-labor Cost
  • External Key - the key or id of this task in another system e.g. JIRA
  • Custom Fields - you will have to create the fields in Celoxis first

To read more about tasks dates,

.

TasksActions

Copying and Moving tasks

Open article

Copying tasks copies task attribute, attached files and security while moving tasks also moves the attached entities like time logs, expenses and updates.

Copying or moving tasks in the same project

  1. Open the project's interactive gantt chart
  2. Select the tasks to copy or move
  3. Press Ctrl+C to copy or Ctrl+X to cut
  4. Select a task underwhich to copy/move these tasks and press Ctrl+V

Copying tasks from a different project

  1. Open the project's interactive gantt chart in which you want to copy the tasks to
  2. Click AddCopy from another project from the toolbar
  3. Select a project and choose tasks to copy. If you choose a summary task, its descendants will also be copied.
  4. Submit the form

A copy of the tasks will be created.

Moving tasks to a different project

  1. Open the project's interactive gantt chart from which you want to move the tasks
  2. Select the tasks to move
  3. Right click and choose Move
  4. Select the destrination project

Tasks will be moved to the new project. The rolled-up data of both, the new and old, projects are updated.

TasksActions

Updating Task Progress

Open article

Celoxis makes it easy for users to indicate their progress on tasks. In addition to entering comments on a task from its task screen, you can:

  • Update progress of many tasks in bulk.
  • Update progress of a task via email.
  • Update progress of a single task, which is the topic of this chapter.

Clicking on the for a task in a task list will open a menu having convenient options to update progress.

50%Sets the task % complete to 50%
100%Sets the task % complete to 100%
On TrackSet the task % complete to its planned value. Read More.
% and CommentsOpens up a form where you can record a detailed update as well as log time.

% and Comments

As you can see from the below image, you can log a custom % complete, enter comments and also log time. You can also enter actual start and actual finish dates if you wish, else the system will assume that the task started and finished on time.

TasksActions

Updating Progress from email

Open article

In addition to logging an update using the web interface, task assignees can also reply via email to file their update. When managers request an update, assignees get an email like this:

Clicking on the Update Progress button as shown above, opens up a new email compose window in which you can modify the subject to fill in % complete, hours and time code. All are optional. You can also attach files and add a description that will become the progress update's text. A sample is shown below:

A few minutes after the email is sent, this progress update will be added to the task. If you have put in hours, time will also be logged and sent for approval.

TasksActions

Recurring Tasks

Open article

You can create copies of a task in a recurring pattern of you choice.

  1. Open the interactive gantt in the project in which you want to create the recurring task.
  2. Create a task and name it appropriately e.g. Weekly Meeting.
  3. Right click on the task and click on Recur.
  4. Enter the desired recurrence pattern. In the following example, we have chosen a weekly pattern.
  5. Submit

Celoxis will create new tasks as per your recurrence pattern as shown below:

TasksActions

Requesting Updates

Open article

You can request an update on tasks from their assignees. There are two ways to do this: for a single task, click Task ActionsRequest an Update, while for multiple tasks you can use the bulk actions.

Assignees get an email to which they can simply reply to to record their update. They can also specify the % complete, log time and more as described in this chapter.

TasksActions

Attaching Files

Open article

You can attach one or more files to a task from your local drive or from Google drive. Click on the task to open the slide panel and then click on Attach Files. Files attached to a task can be viewed from the Files tab on the slide panel.

TasksActions

Following Tasks

Open article

If you follow a task, you will be notified about activities happening on the task e.g. when someone adds a comment or when someone attaches a file. The notifications will be through email as well as through the notification center. If you are an assignee or a project manager, then you are automatically notified and there is no need to explicitly follow the task.

Unfollowing

To unfollow a task, simply click on the Unfollow link on the task screen on in the footer of the email notification.

TasksActions

Bulk Actions

Open article

You can select multiple tasks and perform actions on them. Click on the next to the checkbox in the report table header as shown below:

50%, 100% & On Track

Updates the % complete of selected tasks. For "On Track", read this.

Request an Update

Sends an email to the assigned resources asking them for a progress update.

Edit

Allows multiple attributes to be modified at once, including custom fields as shown below:

How-To

TasksHow-To

Working with Gantt

Open article

Gantt in Celoxis provides a graphical overview of the project schedule. This is useful for the Project Manager to schedule his projects and keep track of them. The different features like the Export, Baseline, etc. help him with preparing and driving the project plan more efficiently.

The Gantt chart features include:

  • Creating the WBS i.e your tasks, sub-tasks, milestones with start and finish dates
  • Drag - Drop tasks to re-order them in hierarchy
  • Add Constraints
  • Drag - drop-dependencies
  • Expand-collapse the task list
  • Assign users on tasks
  • Updating task progress
  • Printing the Gantt
  • View the schedule with different Zoom levels
  • Auto Save and Manual Save options

Configuring the Gantt

The first time you access the Interactive Gantt of a project, you are presented with the below options to be configured. This is then remembered per person across all projects in Celoxis as a user preference. You can change this setting from the icon.

Default new tasks to "Manually Scheduled"Whenever a new task is created in Celoxis, the scheduling mode i.e., Auto-scheduled or Manually scheduled is dependent on this selection. For more on scheduling modes, refer here
Automatically save my changesChanges made to the project plan are auto saved. If the option is unchecked, you need to manually click on Save everytime you make changes.
Show project/task name on the barThis option if checked, will show the project/task name of the Gantt part (right-part).
Show resources on the barThis option if checked, will show the resource name of the Gantt part (right-part).

Keyboard Shortcuts

Add new taskn
Edit Taske
Delete TaskDelete key
Indent Task i.e create a sub taskI
Outdent Tasko
Move task Upu
Move Task Downd
Copy TaskCtrl+C
Paste TaskCtrl+V
Cut TaskCtrl+X
SaveCntrl+S

FAQ

TasksFAQ

How do I switch from a auto-scheduled task to manually scheduled?

Open article

The scheduling mode of a task is determined from the Gantt preference which is saved per user. However, you can change the scheduling mode of one or more tasks from the Gantt. To do so, select the tasks and click on MoreSet Scheduling Mode to the desired one from the Gantt.

TasksFAQ

Can I share the Gantt chart with my client?

Open article

Yes, you can create a report of tyep Task and the Output type as Gantt. On the Report's edit page, under the Visible to Client drop-down pick the client whith whom you wish to share.

This report will then appear under the Reports menu for the client.

TasksFAQ

How can I understand if a task has dependency on a task in another project?

Open article

Once you add the dependecy, it will be shown as below:

For more details, refer the Setting inter-project predecessors section here.

Back to contents

Time

13 articles

Concepts

TimeConcepts

Time Workflow

Open article

A time entry in Celoxis passes through various states as shown below.

Saved

Saved indicates that the time entry has been saved but not submitted for approval.

  • Anyone with add time privilege can create a time entry in this state.

Pending Approval

Pending approval indicates that the time entry has been submitted for approval.

  • Anyone with add time privilege can create a time entry in this state.
  • The submitter can continue to edit time entries in this state.

Approved

Approved indicates that the time entry has been approved by

approvers setup in your approval workflow.

  • Anyone part of the approval workflow can approve time.
  • Once approved, that time entry cannot be edited by the submitter. However, anyone with the Approve privilege can make changes to the time entry.
  • Information from approved time entries like hours, cost and revenue are rolled-up to their respective work items and projects.
  • During approval, the time entry is updated with the latest bill and cost rate.

Rejected

Rejected indicates that the time entry has been rejected by

approver.

  • Anyone part of the approval workflow can reject time.
  • The submitter is notified through an email.
  • The time entry will start showing in the weekly timesheet screen of the submitter where it can be edited or deleted and can be resubmitted for approval.
  • A rejected time entry resubmitted for approval has to go through the entire approval workflow.

Invoiced

Invoiced indicates that the time entry has been marked as invoiced.

  • Only time entries marked as Billable can be invoiced.
  • Anyone with Invoice privilege can invoice a time entry.
  • Once invoiced, the time entry’s invoiced hours and revenue are rolled-up to their respective work items and projects. E.g. invoiced revenue and invoiced hours.

TimeConcepts

Time Codes

Open article

A time code represents an activity type for a time entry. For example, a software development company may want to track acitivities like Programming, Designing and Testing, while a legal firm may want to track activities like Litigation, Research, Meetings, etc.

Time codes help in:

  • Filtering: you can filter time entries based on activities and perform bulk actions on them.
  • Reporting: you can aggregate information about your activities and create pie, bar and various other types of reports. For example, software development companies can understand the total time spent in Programming or Designing.
  • Billing: if your organization uses activity based billing i.e. the billing rate is based on the activity performed not who performs it, then you can define billingrates for time codes. When time is logged, the appropriate bill rate gets applied to that time entry based on it's time code to calculate its bill amount.

Non-project time codes

Some activities are not associated with projects yet that time has to be accounted for. E.g. Meetings, Sick Leave, and Paid Vacation. This can be done using non-project time codes. A non-project time code is like a regular time code but with its

flag turned on.

Using time codes

Time codes are selected by the submitter while logging time. Time codes can be selected on the weekly time screen or while logging time on work items.

Managing time codes

Only administrators can manage time codes. Navigate to AdministrationTimesheetTime Codes.

Costable

Every time code has a costable flag. When time is logged, if it's time code is costable, then the time entry is marked as costable. Costable time entries are considered towards project cost. Most of your time codes will be costable, however, some could be non-costable e.g. Unpaid Vacation and Unpaid Sick Leave.

TimeConcepts

Billing and Costing

Open article

In addition to tracking hours, timesheets are also used in calculating labor costs and for billing clients.

Labor Cost

All costs associated with time entries are labor costs since they are directly associated with human labor. Whether a time entry is considered towards project cost depends on its Costable flag. By default this is set based on whether its time code is costable or not. But this can be changed by a user having the Approve Time privilege.

Cost Rates

If time entry is marked as costable, its cost rate is the cost rate of the time entry's owner. If the owner's cost rate has been specifically set for that project, it is used. Otherwise, that resource's default cost rate is used.

If time entry is not marked as costable, its cost rate is set to zero.

Setting the default cost rate

A user's default cost rate can be set from its add/edit screen or from the bulk edit user screen.

Setting a project specific cost rate

You can override the default cost rate for users per project. Click on a project link that will slide in the project screen; then click Project ToolbarMoreCost Rates.

Setting cost rates for a specific time entries

Users having the Approve Time privilege can edit a time entry (or many using the bulk edit time screen) and set a cost rate.


Billing

Whether a time entry is considered for billing depends on its Billable flag. By default this turned on if its work item's Billing Type is set to Time & Material. But this can be changed by a user having the Approve Time privilege. Note that changing the billing type of a work item will only affect its future time entries.

Celoxis supports two types of billing models:

  • Time code based — This is when you bill your clients based on the activity performed, not on who performs that activity. For example, a software development may decide to charge a rate of $50 per hour for a junior Java developer; it does not matter which exact user does that work. In this case bill rates are defined per time code.
  • User based — This is when the bill rate depends on the user performing the activity. For example, in a legal firm a star lawyer may charge twice the rate for the same kind of work. In this mode, bill rates are defined per user.

Your organization can have only one model at a time and administrators can select it from AdministrationTimesheetBilling.

Overriding rates for a project

Like cost rates, billing rates can also be overriden per project. Click on a project link that will slide in the project screen; then click Project ToolbarMoreBill Rates.

Setting bill rates for a specific time entries

Users having the Approve Time privilege can edit a time entry (or many using the bulk edit time screen) and set a bill rate.

TimeConcepts

Approval Workflow

Open article

You can setup a multi-level approval workflow for time entries. For a time entry to be marked as approved, it has to be approved by all the approvers. If any of the approver rejects it, the time entry is sent back to the submitter. On resubmission, the entire approval workflow is started.

For time on projects

Auto ApproveAll the time entries to be automatically approved as soon as they are submitted for approval.
Reporting ManagerApproval is required from the reporting manager of the time entry's owner.
Project ManagerApproval is required from a project manager of that time entry's work item's project.
Reporting Manager > Project ManagerApproval is required from the reporting manager followed by the project manager.
Project Manager > Reporting ManagerApproval is required from the project manager followed by the reporting manager.

For non-project time

Auto ApproveAll the time entries to be automatically approved as soon as they are submitted for approval.
Reporting ManagerApproval is required from the reporting manager of the time entry's owner.

Changing the workflow will result in resetting the approval status of all items that are pending approval. They will have to start from the first approval.

TimeConcepts

Timers

Open article

You can use timers in Celoxis to keep track of time spent on your work items. Timers can be used in tasks as well as your custom apps.

Timers can be started on work items using the icon in the toolbar as shown below. Once a timer is started, it automatically pauses the earlier running timer. Also, you can use the icon to pause a timer from a work item.

Once a timer is started, it is shown in the toolbar in green color. You can click on it to view all you recent timers. This is also a convenient way to pause a timer or restart a new one.

TimeConcepts

Time Glossary

Open article
AttributeRead/WriteDescription
Work ItemRWThe task or custom-app item name against which this time was.
DateRWThe date of this time entry.
UserRThis time entry's owner.
ProjectRThis time entry's project.
HoursRWThi time entry's hours.
StateRThe current state of this time entry. One of: Saved, Pending Approval, Approved, Rejected, Invoiced. Read More.
Approved OnRDate on which time entry was approved by everyone in the approval workflow.
Approver CommentsRWComments entered by the approver at time of approval.
Rejected OnRDate on which time entry was rejected.
Rejection CommentsRWComments entered by the approver at time of rejection.
User CommentsRWComments entered by the user at time of creating/editing the time entry.
Accounting CodeRWThe accounting code for this entry's time code.
AppRThe custom-app item for which this time entry was logged.
Bill RateRWThe per hour rate at which the time will be billed. Read More.
BillableRWIf no, the revenue of this time entry is set to zero.
CreatedRDate on which the time entry was created.
CreatorRThe user who created this this time entry. This could be different than the user attribute of this time entry if the creator used the proxy privilege to log time for another user.
IDRThe database primary key of this record.
Invoiced ByRThe user who invoiced the time entry.
Invoiced OnRTimestamp on which time entry was invoiced.
RevenueRThe bill amount associated with this time entry. If this time entry is billable, then Bill Rate × Hours, else 0.
TaskRThe task for which this time was logged.
Time CodeRWThe activity against which the hours were spent. Read More
CostRThe cost associated with this time entry. If this time entry is costable, then Cost Rate * Hours, else 0.
Cost RateRWThe per hour rate at which the time entry's cost will be calculated. Read More
CostableRWIndicates whether this time entry will be considered towards cost or not.

Actions

TimeActions

Filling Weekly Timesheets

Open article

To fill your weekly timesheet, click Main MenuAddTimesheet. The weekly timesheet screen is a quick, powerful and convenient way to log time as well as update task progress.

AYou can select another user for whom to fill time if you have the Time ProxyGranted privilege.
BNavigate to previous or next week or jump to any date.
CA convenience – if checked, the screen comes pre-filed with rows with work items:
  • on which you have filled time in this week
  • on which logged time last week and are still incomplete
  • that are active in the last 2 weeks
DThe projects and work items that you can select here are controlled by this option.
EClick to add more rows.
FYou can enter a % complete for a task and enter comments
GClick on a cell to enter hours and click on the to add a comment for an individual time entry.
HClick to add non-project time rows.

You can click Save to save the timesheet or Submit to save as well as submit the timesheet for approval.

TimeActions

Approving Timesheets

Open article

You will need the Time & Expense > ApproveGranted privilege to approve time-entries. To approve time-entries, click on Main MenuApprove Time.

The above example shows time-enntries submitted by Tanya and Joe Cool. You can check the boxes besides the users and then click Approve to approve all time-entries in one click OR click Timesheet to open Timesheet view to see the individual time-entries before approving.

TimeActions

Handling Incomplete Timesheets

Open article

The Incomplete Timesheets report helps you identify and remind users who have not filled their timesheets.

To view incomplete timesheets, click Main MenuReportsIncomplete Timesheets.

Customizing the definition of "Incomplete"

If you click on Edit Filters above, you can customize the value of the Hours (Submitted) filter. You have two options:

  • Less than working hours – If Joe is supposed to work 40 hours per week and a non-working exception of 4 hours has been added, then Joe is supposed to log 36 hours of time. Anything below this will be treated as an incomplete timesheet.
  • Less than N hours – You can decide the N and all uses who have logged time less than this value will be shown.

Setup daily timesheet reminders

If you have administrator privileges, you can set this up from AdministrationTimesheetTimesheet Options. Check the Send incomplete timesheet reminder emails to users daily at option and select the time you want the emails to be sent and click on Save. The time selected is as per your company’s time zone.

TimeActions

Invoicing Timesheets

Open article

By marking time entries as invoiced, you are indicating that the client has been sent an official invoice from your company. You will need the Time & Expense > InvoiceGranted privilege to mark time as invoiced. To mark time as invoiced, click on Main MenuInvoice Time. This will show a list of all billable time entries that have been approved but not invoiced.

TimeActions

Bulk Actions

Open article

You can select multiple time entries and perform actions on them. In any time log report, Click on the next to the checkbox in the report table header as shown below:

To perform an action, you will need the appropriate privilege. Also, time entry has to be in the correct state as per the workflow. So if you try to invoice an unapproved entry the action will fail.

Edit

You can set individual attributes of time entries or update the bill and cost rates to the latest values. The latter is especially useful when you have modified the rates and you need to update time entries with the new ones.

How-To

TimeHow-To

Overtime Calculation

Open article

This article helps you understand how you can manage overtime hours and arrive at project costs and billing using the time codes in Celoxis.

Steps

  1. Define additional Project Time codes for each of your overtime activities and mark them as costable. For example, if you have existing time codes as Research, Design, Development, then create additional overtime time codes such as Research (OT), Design (OT), Development (OT).
  2. Define regular cost and bill (if user-based billing) rates for your users.
  3. In case of Time code based billing, also define the overtime bill rates for your overtime time codes.
  4. Create a ‘Time Entry’ report with below details,
    Name: Overtime Entries Select a filter ‘Time Code’ and select all overtime time codes in this filter Select a filter ‘User’ and mark it as promptable Output: Tabular. Select the columns as Date, Hours, Cost Rate, Bill Rate Group By: User, Time Code
  5. When users want to log overtime hours, ask them to select appropriate overtime time code in the timesheet.
  6. When approving time entries, filter the report (created in step 4) based on a specific user E.g. User: Joe Cool. This will display all the overtime entries by Joe Cool.
  7. Now select all the overtime entries and click on bulk edit action.
  8. In case of time code based billing model, select Cost Rate option, and set the overtime cost rate.
  9. In case of User based billing, select the Cost Rate and Bill Rate options and then set the overtime cost rate and bill rate.
  10. Approve the time entries.

Sample Reports

  1. Regular vs Overtime (Tabular Report)
  2. Overtime Distribution (Pie Chart Report)

FAQ

TimeFAQ

Can my time-entries reflect the changed rates for my users?

Open article

Yes, Celoxis allows you to apply the new rates for time-entries already submitted or approved. When the time-entry is saved or submitted for approval, the new rates are automatically updated during approvals.

However, once a time-entry is approved, you need to consciously edit them to apply the new ratesusing the bulk actions.

For steps, refer here.

Back to contents

Expense

8 articles

Concepts

ExpenseConcepts

Expense Workflow

Open article

An expense in Celoxis passes through various states as shown below.

Pending Approval

Pending approval indicates that the expense has been submitted for approval.

  • Anyone with Add Expense privilege can create an expense in this state.

Approved

Approved indicates that the expense has been approved by the project manager.

  • Once approved, that expense cannot be edited by the submitter. However, anyone with the Approve privilege can make changes to the expense.
  • Information from approved expense like cost and revenue are rolled-up to their respective work items and projects.

Rejected

Rejected indicates that the expense has been rejected by the project manager.

  • The submitter is notified through an email.

Invoiced

Invoiced indicates that the expense has been marked as invoiced.

  • Only expense marked as Billable can be invoiced.
  • Anyone with Invoice privilege can invoice an expense.
  • Once invoiced, the expense’s invoiced revenue are rolled-up to their respective work items and projects.

ExpenseConcepts

Expense Codes

Open article

An expense code represents an expense type for an expene line item. Some common expense codes are Meals, Gas, Phone, etc.

Expense codes help in reporting. You can aggregate information about your activities and create pie, bar and various other types of reports. For example, you can understand how money is being spent across various avenues.

Using expense codes

Expense codes are selected by the submitter for each line item. You can use expense codes in filters, output columns and even charts.

Managing expense codes

Only administrators can manage expense codes. Navigate to AdministrationExpensesExpense Codes.

ExpenseConcepts

Billable and Costable Expenses

Open article

The submitter of an expense can mark it as billable and costable. If an expense is marked as billable, its total amount is added to the work item's and consequently its project's revenue. If the expense is marked as costable, its total amount is added to the work item's and consequently its project's cost.

ExpenseConcepts

Expense Glossary

Open article
AttributeRead/WriteDescription
ExpenseRWA short description.
Created OnRDate on which expense was submitted.
Submitted ByRThe user who submitted the expense.
ProjectRWProject against which the expense was added.
TaskRWTask against which the expense was added.
StateRThe current state of this expense. One of the following: Pending approval, Approved, Rejected, Invoiced. Read More.
Expense TotalRWTotal Expense amount including the line items.
Approved OnRDate on which expense was approved.
ApproverRName of user who approved the expense.
Accounting CodeRThe accounting code of this item's expense code.
AttachmentRA file attachment (e.g. a receipt).
BillableRIndicates whether this expense's amount should be added to its task's revenue.
CostableRIndicates whether this expense's amount should be added to its task's cost.
Expense CodeRWThe expense code of the expense line item. Read More.
Expense Item AmountRWAmount of the individual line item of the expense.
Expense Item DateRWDate when the expense was incurred.
ReimbursableRWIndicates whether the line item amount should be reimbursed to the submitted. E.g. if the item was paid using a company credit card, then it would not be while if the item was paid by the submitter's credit card then it would..

Actions

ExpenseActions

Adding Expenses

Open article

Expenses can be added against tasks. Each expense can have multiple line items. Each line item can be assigned an expense code like Travel, Food etc.

To add an expense, click Main MenuAddExpense. Alternatively, you can also click on a task and from the task screen click Task ActionsMoreAdd Expense.

AIf marked as costable, the total of the expense will be added to the task cost (and project cost) after the expense is approved.
BIndicates that the client will pay for it. If marked as billable, the total of the expense will be added to the task revenue (and project revenue) after the expense is approved.
CClick to add a line item
DIndicates that a receipt has been uploaded for the line item.
EReimbursable means that the submitter has to be reimbursed for this item. The next line item has probably been paid by using a company credit card and hence not required to be reimbursed.

ExpenseActions

Approving Expenses

Open article

You will need the Time & Expense > ApproveGranted privilege to approve expenses. To approve expenses, click on Main MenuApprove Expenses.

The above example shows two expenses submitted by Tanya. You can click on an expense to approve or reject them individually OR select one or more expenses and click on One Click Approve to approve them in bulk..

ExpenseActions

Invoicing Expenses

Open article

By marking expenses as invoiced, you are indicating that the client has been sent an official invoice from your company. You will need the Time & Expense > InvoiceGranted privilege to invoice expenses. To invoice expenses, click on Main MenuInvoice Expenses. This will show a list of all billable expenses that have been approved but not invoiced.

FAQ

ExpenseFAQ

Is it possible to edit approved expenses?

Open article

Yes, you can edit the approved expenses if you have the requisite privileges. You need to have Time & Expense > EditGranted and Time & Expense > ApproveGranted privileges to be able to do this.

Back to contents

Collaboration

20 articles

Concepts

CollaborationConcepts

Notification Center

Open article

The notification center is used to communicate events and messages about items you are interested in. Events could include that someone completed a task in your project, or you received a new reply to an online discussion, or a new version of the file you are interested in is available, etc. The following image shows 2 new notifications and 1 new mention.

In-App Notifications

In-app notifications are events that happen in items that you follow, manage or own. The include new work assignments, modification to items, updates on tasks, replies in online discussions, etc. The number of unread notifications appear above the icon. You can click the icon anytime to view your recent notifications.

Clicking on any item in the panel will open that items's panel while clicking on Mark All Read will mark all unread notifications as read.

@ Mentions

@mentions is the best way to grab your colleague's attention to a work item. You can mention a user while:

  • Adding a comment on a task or updating its progress.
  • Performing an action, reassigning or adding a comment to an app item.
  • Participating in discussions.

The number of unread messages appear above the

icon. You can click the icon anytime to view recent messages directed at you.

Clicking on any item in the panel will open that items's panel while clicking on Mark All Read will mark all unread messages as read.

Mentioning a User

The easiest way to mention a user is to click the icon in the text field's menu as shown below. Also, if easier, you can simply type @<first-name>, @<last-name>, @<username> or @<first-name><last-name> in the text field. In the following example, Emily and Tanya will see this message in their mentions when they login.

CollaborationConcepts

Followers

Open article

At times, you need to track updates on work items where you are not assigned but are related to the work you're doing. By following a work item:

  • You get updates via email notifications about the updated on the work items.
  • You can even reply to the emails, which will then add your comments against that work item.

Following a work item is a great way to stay up-to-date with its updates and comments. When you follow a work item, you see its updates in the Activity Stream and receive instant email notifications.

Follow a Work item

Assignees of a task or app item and the State Manager/Project Manager automatically follow that task or app item. To begin following a work item:

  • Click on Follow link on the panel of the task/app item.
  • Alternatively, go to the task or app item's actions menu and click Follow.

CollaborationConcepts

Activity Stream

Open article

The Activity Stream report allows you to view the recent happenings on projects, tasks, bugs, etc. that you are assigned to, manage or follow. This report can also be placed on one of your dashboards. An example is shown below:

As you can see the history is grouped by each object and the recent happenings for that object are shown. You can click on View All to view all activities since that object's creation. There is also a comment area where you can put in your comment. And like any other report, you can customize what you wish to see.

CollaborationConcepts

File Version Control

Open article

Files often go through an evolutionary process and undergo a series of revisions. In teams, a file often involves contributions by different people. Without some kind of control, some important questions become difficult to answer:

  • Do I have the latest version of the file?
  • Am I overwriting someone else's changes to this file?
  • Who all are working on this file?
  • What changes were made since the last version that we sent to the customer?

Using Celoxis, you can answer these and many other questions. Celoxis offers a basic version control system that is simple, intuitive and user-friendly.

Basics

Files in project and task folders can be version controlled. The basic process is:

  • Check-out a file
  • Make changes on your local computer
  • Check-in a file

Check-out

Checking out a file indicates to the system and your team that you intend to make modifications to that file. After check-out, you can keep this copy on your personal computer, make changes to it and then check it back in.

Multiple users can check-out a file at the same time except if a check-out has been marked as exclusive mode. An exclusive check-out means that no one else can perform a check-out on that file until you check it in or revert your check-out.

If someone else checks in a file while you are working on it you will be notified. For instance, if you have a version 1.3 of a file and some one checks in a version 1.4, you will be notified that you have an older version.

To check-out a file

Click File ActionsCheckout.

To undo a check-out

If you have checked out a file but decided that you do not need to update it, you can revert the check-in by clicking File ActionsRevert

Viewing current check-outs

If you select the versions column, or on the document info screen, you can see the list of users who have checked the file out. An X indicates that the check-out is exclusive.

Check-in

Once you are done with your changes to the file on your computer, you must perform a check-in for your team to see it. When you check-in a file, you have to upload the new version of the file and enter your comments. The system maintains a history of all check-ins.

Celoxis also warns you of potential conflicts. For instance, consider the following scenario:

  • You checked out version 1.0 of a file on Monday in a non-exclusive mode because you want to add a few chapters.
  • Joe checks out the same version i.e 1.0 on Tuesday to correct a few spelling mistakes.
  • After correcting typos, Joe immediately checks it back in to create version 1.1. Now these corrections obviously don't show up in your file since you have an earlier copy. At this point, Celoxis will send you an email notification indicating that a new version of the file is available indicating that your version is possibly outdated.
  • If you try to check-in your file, Celoxis will warn you that there was a checkin on the same file while you were making your changes and hence a potential for conflict. After this warning, you will need to merge the changes (e.g. using Microsoft Word's merge feature) and check the file back in.
To check-in a file

Click File ActionsCheck-in. You have the choice of indicating it as either major change (e.g. 1.2 → 2.0) or a minor change (1.2 → 1.3). Version numbers do not affect system behavior and can be used as per your business policies. A best practice is to indicate a check-in as major when you intend to send it to your client.

Revision history

To view all the revisions along with the comments, click File ActionsView Details. You can also download a specific version of the file.

CollaborationConcepts

Scheduling Impact

Open article

When you add calendar events, you can indicate the impact it has on resource availability. For example, if you are going to an off-site meeting for a day, you would not want any tasks to be scheduled for you that day.

When you add calendar events, you can indicate the impact on availability in the following ways:

  • No – this event has no impact on availability
  • Yes, Working – will add the event duration to the availability of the owner as well as all invitees who have accepted the invitation.
  • Yes, Non-Working – will remove the event duration from the availability of the owner as well as all invitees who have accepted the invitation.

CollaborationConcepts

Event Sharing

Open article

Sharing controls how others see your calendar. If you mark your event's sharing as:

  • Private — The event is not visible to any user other than yourself and invitees.
  • Show as busy —The event is shown as 'Busy' and no details are shown other than to you and the invitees.
  • Public — The event is shown to everyone.

Actions

CollaborationActions

Conducting Discussions

Open article

You and your team can conduct discussions in a project. You can also decide to involve the project clients in the discussion. An example where a team discusses the about a design is shown below.

Initiating a Discussion

To start a discussion, click Main MenuAddDiscussion. Alternatively, you can also click on a project to open its panel and then click Project Actions ▸ More ▸ Start a discussion.

Managing Participants

Participants can view the discussion and also get email notfications of all replies. They can simply reply to the email and even add attachments and the discussion will be automatically updated.

To manage participants click on Edit button. You can change the followers or decide whether to give access to the project's clients from this form as shown below.

Closing a discussion for comments

If you close a discussion for comments, no more posts will be allowed in it. To close, click on Edit button and check the Close this discussion for comments as shown in the image above. You uncheck this option at any time in the future.

CollaborationActions

Replying via emails

Open article

Celoxis sends email notifications on work items when you are either assigned to or manage a work item. You are also sent email notifications when you follow work items.

In either case, you can reply to these emails to record your comments. If you attach files in your email reply, they will be attached to the work items.

Unsubscribing from email notifications

If you are a follower and want to stop receiving email notifications, you can unfollow that work item by clicking on the Unfollow link in the email footer. If you are not a follower but are assigned to or manage the work item, you can adjust your email preferences.

CollaborationActions

Attaching Files

Open article

Attaching files to projects

For details click here.

Attaching files to tasks

For details click here.

Attaching files to custom app items

For details click here.

CollaborationActions

Open article

Like adding files, you can also add links to folders by clicking on the icon for the folder and clicking Add Link.

CollaborationActions

Adding Folders

Open article

Every project has its own folder by default. In most cases, you will be uploading files to this folder. If you have a lot of documents, you can create sub-folders in this folder. The following example shows that the project has two sub-folders Home Page Samples and Logos.

To add a sub-folder, click on a project to open its panel and then click on the Files tab. From the menu besides the project name folder, click on Add Subfolder as shown above.

CollaborationActions

Moving Files

Open article

As the project progresses, you might realize that the scope of the document or the documents in a folder is for another project or was simply attached to the wrong project or task.

In such situation, you can move the file/folder to the correct project/task using the Move option available under the Document actionsMoreMove of the document.

CollaborationActions

Viewing Changelog

Open article

To view all the revisions along with the comments, click File Actions ▸ View Details. You can also download a specific version of the file. The following image shows the version history. Clicking on the version number will download that version of the file.

CollaborationActions

Adding Events

Open article

You can add events in your calendar and if you have administrative privileges, you can also add events for other users, for a work calendar or for the entire company.

To add an event, click on the icon on top-right and then double-click in the date cell on which you wish to add the event.

For WhomThe user for whom you are creating the event. To add for a work calendar, choose Everyone in work calendar... and select the work calendars. To add an event for all users in your company choose Everyone.
NameA short description of your event.
Impacts SchedulingWhether this event affects how tasks are scheduled. Read More.
SharingHow this event will appear to others. Read More.
StartThe date on which you want to start the event.
ReminderIf set, the user will receive an email notification at the time as a reminder.
RecurThe recurring pattern for this event.
InviteesOther users attenting this event. If this event impacts scheduling, then it impacts tasks assigned to these invitees too. Read More.
Time zone IndependentCheck this option the event is going to happen at different times e.g. 25th December (Christmas) happens at different times. Uncheck this option when the event is going to happen at the same time e.g. a world-wide product launch.

How-To

CollaborationHow-To

How do I export my Calendar to Outlook?

Open article

Follow the steps below to export the Celoxis Calendar to Outlook.

  • Get the URL of the Celoxis Calendar.
  • Copy the link.
  • Now, go to the Calendar in your Outlook application.
  • Click on Open Calendar > From Internet.

FAQ

CollaborationFAQ

Can clients participate in discussions?

Open article

Yes, clients can participate in discussions once they are added to it as Followers. For more on Followers, refer here.

CollaborationFAQ

Can I see other users Calendar?

Open article

You can view calendar of other users. Events marked as "Public" by that user are shown and you can view details of the events. Events marked as "Busy" will show as "Busy" for the duration of the event. "Private" events are not shown.

To view them, click on the Users drop-down and select the user whose events you wish to see.

CollaborationFAQ

Is the content of the document available in the search results?

Open article

Yes, the document content is searched. Your search results will have the name of the document if any matching keywords are found.

CollaborationFAQ

How do I know which files are attached to a Task or project?

Open article

In a Document report, there is a filter Attached To which helps you filter documents that are attached to a project or task.

CollaborationFAQ

Can I share the documents with clients?

Open article

Yes, you can share a documnet with a client. When upload documents, you will see a checkbox Share with client which once checked, will show the document in a document report shared with a client.

Back to contents

Custom Apps

17 articles

Concepts

Custom AppsConcepts

Introduction

Open article

Custom Apps are powerful workflow-driven applications built by customers like you. You can define the steps, people involved at each step, capture custom fields and even define time-out rules. All this with our super powerful reporting capabilities makes Custom Apps a great complementary tool to the rich project management capabilities in Celoxis.

Customers are using custom apps to manage leave approvals, client change requests, equipment quality checks, software bugs, and many more! If you are using spreadsheets to maintain something, think about moving to Custom Apps.

The power of custom apps is best illustrated by a scenario. Acme Consulting has created a bug tracking application in Celoxis.

  1. Acme's customer sends an email to bugs@acme.com with an image as a file attachment.

  2. The bug is automatically created in Celoxis along with the image as its attachment.

  3. Quentin, from the QA team, starts seeing the bug in the Unverified Bugs pane on his dashboard.

  4. He verifies that it is indeed a bug and marks the bug as Verified.

  5. The bug is automatically routed to Dave, a software developer.

  6. Dave is notified via email and also sees the bug in the Bugs assigned to me pane on his dashboard.

  7. Dave fixes the bug and marks the bug as Resolved. While doing this, as per the company's policy, he also enters the list of files modified in a custom field.

  8. The bug is automatically assigned to the same user who verified the bug (Quentin) to test.

  9. The company policy is to test all bugs within 72 hours but Quentin misses it.

  10. An email is automatically sent to the QA manager and Quentin about the lapse and the bug is marked as delayed.

  11. Quentin verifies the fix and marks the bug as Closed.

  12. An email is automatically sent to the customer about the fix.

  13. Customer likes Acme.

As you can see Celoxis created the bug from email, then routed it to the right people, and as they completed their bit of the work, captured necessary information from them before moving it to the next person’s bucket, and at the same time keeping a watch for any delays.

Custom AppsConcepts

Workflow

Open article

We shall learn about building custom apps through an example. We will build a simple bug tracking application. We shall assume we have two teams: Developers - they fix bugs, and QA (short for Quality Assurance) - they test the fixes by developers. We will to the model the following bug workflow:

In plain english, the diagram translates to:

  • When a bug is reported, it is in the New state.
  • QA verifies the bug. If it is not a bug, the bug moves to Closed; else to the Verified state.
  • A verified bug fixed by a developer moves to the Fixed state.
  • The fix is then tested by QA and the bug moves to Reopened, if test fails; or Closed, if the test passes.
  • A Reopened bug fixed by the developer moves to the Fixed state.

Each bubble is represents a stage in the bug life-cycle while each arrow an end-user action. Next to each state we have defined the team responsible for it. Also, note that there is no way for a bug to move from any state directly to any other state e.g. A bug cannot move directly from

to

We, ourselves use our own bug tracking application but we have a lot more states to indicate whether a test case was present, if documentation was updated, if a test case was added, etc. Similarly you can make the workflow as complex or simple as you like. But for now, let's stick to the simple workflow that we discussed above.

Creating an App

To create an app, go to AdministrationAppsApps and click on

. You will see a form with many tabs. We will cover each tab below.

The Basic tab

This tab defines some basic properties of the app. In addition, it also controls certain behaviours of the app.

NameThe name of your app. We will put Bug here.
PluralThe plural name for the name.
Initially Assign ToSelect the user who will be automatically assigned to new instances.
Use Requestor Field?By default the creator of an app item is also the requestor for that app item. However, there could be cases where you would want to initiate an app on someone else's behalf and have notifications and updates sent to that person and not the creator. In our app, we would want our support agents to be able to open bugs on behalf of a customer, but we would like updates to be sent to the customer. So we turn it on. When enabled, you will see a Requestor field on while creating a new instance of an app.
Allow Time LoggingWhether to allow logging time on the app item. We would like our developers and QA team to log time, we so check this option.
Clients can InitiateWhether you want your clients to create new instances. We would like our clients to report bugs, so we check this option.
DescriptionA brief description for your app.
FollowersSelect the default followers. Followers will receive notifications when there is reassignment, state change or new comments.
ActiveWhether to enable or disable your app. Marking it as inactive will not delete existing instances of that app.
The States tab

This tab defines the states of the app. You can also mark the start and end states in the workflow. We have listed all the states in our bug workflow.

Start stateWen an app item is created, it is moved to this state. In our case it is New.
End StateWhen an app item moves to this state, the process is considered as finished. In our case it is Closed.
The Workflow tab

This tab defines all the

in the workflow diagram. Each arrow represents an end-user action. We shall see more about its usage later on in the documentation.

ActionThe name for the action. This will be used in action menus for bugs.
FromThe state where the arrow originates.
ToThe state where the arrow terminates. Once the action is performed, our bug will be moved to this state.
Assign ToThe user to whom the workflow will be assigned to after the action is performed. Prompt in Role: Developer indicates that the user performing the Verify action on the bug will be presented with a list of developers from which to choose the new assignee.
Allow UserDetermines whether this action can be performed by a user. In some cases, we would not want end-users to perform the action. E.g. in help desk systems, unresponsive tickets are automatically closed after a few days of inactivity.

The Triggers tab

.

In our bug tracking app, we don't need any triggers. However, let's take this help desk workflow for example. In case of the help desk app, the requestor will be the person who asked a question. When that person replies via email, we would want the ticket to be automatically moved to the Unresolved state as then it would be brought to the attention of the support team. In other words, we would want the Reopen transitions to happen. In this case, we would be defining our triggers like this:

The State Managers tab

A state managers is a user who is treated as a Manager when an app is in a particular state. They are notified when things happen to an item in this state. In our example below, Mark is the QA manager, so he is responsible for the New and Fixed states where the QA team is supposed to do work. You can override state managers at a project level if the person managing that state is different.


What's Next?

We have created a custom app for our bug workflow. In the next chapter we will be adding some custom fields to the bug.

Custom AppsConcepts

Custom Fields

Open article

In the previous chapter, we created the workflow, here we create custom fields for our bug. By default, all workflows have the following fields:

  • Name
  • Priority
  • Assigned To
  • Requestor
  • Due Date - an optional date indicating when the estimated completion date of this item
  • Description

Let's add a few fields to our

:

  • Affected Versions - a list of all versions affected by this bug
  • Fixed Versions - a list of all versions in which this bug fix has been uploaded

Since we want the

field to be available while creating a bug, we attach it our

app. Since we want the developer to enter the

field

when he is marking the bugs as fixed i.e. Verified → Fixed and Reopened → Fixed, we attach it to the

actions as shown below:


What's Next?

We have created our application and also defined custom fields for it. In the next chapter, we will see our bug tracker in action.

Custom AppsConcepts

App in Action

Open article

Till now, we have been configuring our application. It's time we understand how your users will use the app. We will see how our app has affected the user interface and also walk you through a real-world scenario.

Bug app and the user interface

Add menu

appears as an option in the Main MenuAdd menu.

View menu

also appears as an option in the Main MenuView menu.

New Report menu

You will also be able to create a report for the

app. The entire arsenal of filters, groups, charts, etc. is available at your disposal.

Adding Bug

Megan wants to report a bug. She clicks Main MenuAddBug and she sees the form: In addition to the regular fields, you can see the custom fields we added earlier.

Bug in state: New

The bug has been assigned to Quentin, our QA guy. He clicks on the bug link and sees:

AThe bug is in New state.
BHe is show the Verify and Not a Bug actions in addition to the other actions.
CHe sees that the problem is supposed to happen in version 1.0
DHe downloads the attached file to see what the problem is.
EHe can look at the history of the bug and also add his comments.

Performing the Verify action

Quentin verifies the bug indeed exists and clicks on

. He is presented a form like this:

He assigns it to Vardhan, a developer. He also has the choice of notifying Megan, who has opened the bug. But since there is nothing noteworthy to report, he decides against it. After he submits the form the Bug moves to the Verified state.

Bug in state: Verified

Vardhan receives an email notification about his being assigned to this verified bug. He clicks on the link and sees the following:

AThe bug is in Verified state.
BHe is show the Fix action in addition to the other actions.
CHe looks at the history and noticies Quentin's helpful comment.

Performing the Verify action

Vardhan fixes the bug and clicks on the

button. He is presented a form like this:

Notice how he is presented with the Fixed Versions custom field.


What's Next?

The example above demonstrates how the bug moves across states, how the right fields are captured at the right time and when notifications are sent. It should give you a good idea about the capabilities and advantages offered by Celoxis custom apps. We have also seen that there is an option to send emails to requestors. Celoxis allows customizations of these emails and that is the topic of the next chapter.

Custom AppsConcepts

Requestor Templates

Open article

In the last chapter, we have seen that you can notify the requestor while performing actions. In this chapter, we will understand how to control the email format using simple templates. It is important to understand that these templates only control the emails sent to requestors not the other notification emails that are sent to users.

Customizing the email template

Open AdministrationCustom AppsRequestor Email Templates. You can customize the global template or customie the template per workspace. Click on the icon next to

workspace to edit the global template.

.

Sender NameThe name of the email sender. We want people to see Acme Support so we enter that here.
Sender EmailThe email address of the email sender. This is not the Reply-To address. That will be generated by Celoxis so that any replies by the requestor are automatically logged against the app.
Email BodyThe body of the email. This is in HTML format. In our example, $an will be replaced by Bug while $un will be replace by Quentin T if Quentin was the person performing the update. More such placeholders are available in the Field Reference section.

What's Next?

In this chapter we have seen how to configure the emails that are sent out to requestors. In the next chapter, we will see how to add time-based rules to our app.

Custom AppsConcepts

Timeout Policies

Open article

Timeout policy is a set of rules that define what should happen when an app item exceeds its stay in a particular state for more then the specified hours.

In the earlier chapters, we created the workflow and also defined our custom fields. Now, we will add in some timeout rules.

Continuing with our Bug app, let's assume that our company is a strict on QA and mandates the following:

  • Rule #1 A new bug should be verified within 48 hours. If it is a high priority bug, then it should be verified within 24 hours instead.
  • Rule #2 A bug that has been marked fixed should be tested within 72 hours after the bug is marked fixed. If it is a high priority bug, then it should be tested within 48 hours instead.

Adding a Timeout Policy

Open the app list screen by going to AdministrationCustom AppsApps and clicking on the icon for our Bug app. Then click on the Add button.

When in State...The state of the bug in which the rule applies. In our case, we have defined the rules for states New and Verified because the QA team is responsible in these states.
Hours (per priority)You can set the hours per priority. In our case, we have set the hours as per our rules #1 and #2.

The Override option, if checked, means that the end-user performing the transition can specify when the timeout will happen. Let's take an example of a CRM system. The sales executive, follows up with the prospect every 5 days. However, in some cases, the prospect may be on vacation ask you to follow-up after say 2 weeks. In that case, the sales executive, at the time of marking the inquiry as "Followed-Up" can specify the next date of follow-up.
ActionThe state transition to perform after the time expires. We don't require this in our bug tracking example but let's take the example of this help-desk workflow. In this example, it may be desired that all ticket's in Resolved state be moved to the Closed state if we do not hear back from the customer in 5 days. In that case we would put 5x24 i.e. 120 for all priorities and choose the action as Close.
Flag DelayedThis option will mark the Bug as Delayed and notify the assignee and state manager.

What's Next?

In this chapter we have seen how to define timeout policies and what they are used for. In the next chapter, we will see how to initiate workflows from emails.

Custom AppsConcepts

Email Integration

Open article

Custom Apps can be initiated by emails. Emails can either be free form (sent by people) or structured (generated by filling a web form).

Direct Interface

This is used when we want to start workflows when people and send an email to a particular address. For example, we may want to create bugs when our cutomers send an email to bugs@acme.com.

SenderBecomes the item's requestor
SubjectBecomes the item's summary
BodyBecomes the item's description
PriorityBecomes the item's priority
AttachmentsAre added as file attachments to the item

For more information visit the AdministrationCustom AppsEmail Integration page.

Indirect Interface

This helps you integrate an existing system with one of your custom apps. For example you have a web based form on your web site that users fill and submit to initiate an workflow in Celoxis.

In this model, your program will send a plaintext email to an email address with a well formatted body as described in AdministrationCustom AppsEmail Integration page.

Email Aliases

When you want to use the direct email interface, you would want to expose nice and simple email addresses to your users. For example, bugs@acme.com or support@weyland-yutani.com. However, addresses generated by Celoxis are like abracadbra+NEI-4.g0.1b.2m8.0.0-eqro@celoxis.com. The way to bride the two is through email aliase.

Let's say that Acme wants create bugs in Celoxis when people send emails to bugs@acme.com. Acme would:

  1. Generate the email address for the bug by going to: AdministrationCustom AppsEmail Integration. Let's say that this email address is gobbledygook@celoxis.com
  2. Acme in it's email server would create an alias that would redirect bugs@acme.com to gobbledygook@celoxis.com
  3. If Acme is a SaaS customer, they would notify us of this mapping and we would update our servers. This typically would take one business day.
    If Acme is an On-Premise customer, they can open Site AdministrationSite SettingsEmail Aliases and enter bugs@acme.com:gobbledygook@celoxis.com in the text area, save and restart the server.

Custom AppsConcepts

App Glossary

Open article
AttributeRead/WriteDescription
NameRWA short description.
ProjectRWThe project in which this item exists.
RequestorRWThe user who requested this item. This could be a user, client or even an external user.
StateRWThe state this item is currently in.
Assigned ToRWThe current assignee of this item.
DueRWA date when this item was suppoed to finish.
Last UpdateRLast comments made against this item.
AgeRNumber of days since the app item is created.
CreatorRThe user who created this item.
CreatedRThe timestamp when this item was created.
CompletedRIf this item is in an end state, then the timestamp when that happened.
DelayedRWA flag indicating if this item was delayed. This is marked by the system if this item exceeds the due date or crosses the time threshold as per its timeout policy.
DescriptionRWA long description of this item.
IDRThe database primary key of this item's record.
Last Updated OnRDate on which the last update was done.
OpenRIf the item is in an end state, then no, else yes.
PriorityRWThis item's priority.
State ManagerRThe user responsible for the item's state as configured. If this item belongs to a project and no state manager has been configured, then the state manager is the primary project manager. Read More.
TimeoutRWA timestamp indicating the time before which this item should transition out of the current state. If configured, the item will be marked as delayed.
Visible to RequestorRWCheck to allow visibility of this item to its requestor.
WorkspaceRWThis item's workspace. If it belongs to a project, then the project's workspace.
Actual CostRThe total cost incurred on the item so far based on the time logged on this item.
Actual Billable HoursRThe total hours of approved and billable time logged on this item.
Actual Non-billable HoursRThe total hours of approved and non-billable time logged on this item. This amount can be ised to identify the "missed" billing opportunities for this item.
Invoiced HoursRThe total time for all its invoiced time entries.
Invoiced RevenueRThe sum of the bill amounts for all its invoiced time entries.
Actual EffortRThe sum of approved hours logged for this item.
Actual RevenueRThe sum of the bill amounts for all approved billable time entries.

Actions

Custom AppsActions

Adding Comments

Open article

When working on an app item, the assignee or the manager at times might need to record comments on it.

To add comments, click on the app item for e.g your bug, risk, etc. On the panel of the item, click on MoreComments. You can check the Notify Requestor checkbox if you wish to notify the requestor of the app item about this comment.

Once the comment is added, all the followers receive an email notification with the new comments.

Custom AppsActions

Attaching Files

Open article

To attach files to a custom app item, click on the item and on its panel click Attach Files as shown below.

Custom AppsActions

Following Items

Open article

If you follow an app item (e.g. a bug), you will be notified about activities happening on it e.g. when someone adds a comment or when someone attaches a file. The notifications will be through email as well as through the notificiation center. If you are an assignee, project manager, or a state manager, then you are automatically notified and there is no need to explicitly follow the task.

Unfollowing

To unfollow, simply click on the Unfollow link on the item's Overview tab on in the footer of the email notification.

Custom AppsActions

Reassigning to another user

Open article

At times, you may want to re-assign the bug, issue to another user due to several reasons like the assigned user is on leave or is busy with other activities.

To reassign an app item, click on the app item for e.g your bug, risk, etc. On the panel of the item, click on MoreReassign. The new user will get an email notification about the new assignment.

Custom AppsActions

Moving to another project

Open article

You can move an app item to another project or workspace. To do so, click on the app item for e.g your bug, risk, etc. On the panel of the item, click on MoreMove. You will be prompted to select the project or Workspace to which you wish to move the app item.

Custom AppsActions

Importing via CSV

Open article

Celoxis provides you with the ability to import app items (your bugs, risks, etc) in a project from CSV. If you have a Microsoft Excel file, then you can export it in CSV (comma separated values) format and then import it in Celoxis.

To import app items in a project, first click on the project and then click Project ActionsMoreImport Apps (CSV). For simplicity, we strongly recommend that you import one custom app at a time. So instead of having one file items.csv, you should split that into multiple files like bugs.csv, risks.csv, issues.csv and import them one at a time.

Fields supported:

  • App – Mandatory field. The app name (e.g. Bug, Risk).
  • Name – Mandatory field. A short description.
  • Description
  • State – This should be one of the states you defined for your app. If not present will be defaulted to the first state in the app definition.
  • Due Date – YYYY-MM-DD format
  • Assigned To – The name, username or email address of the user to whom the item is to be assigned.
  • Requestor – The name, username or email address of the requestor whose account is in Celoxis.
  • Requestor Email (External) – The email address of the requestor who does not have an account in Celoxis.
  • Requestor Name (External) – The name of the requestor who does not have an account in Celoxis.
  • Custom Fields – one column per custom field of the app

Custom AppsActions

Bulk Actions

Open article

Allows multiple attributes to be modified at once, including custom fields as shown below:

FAQ

Custom AppsFAQ

Can my client create issues via email?

Open article

Yes, using the Direct or Indirect email integration, your clients can initiate app items via email.

For more details, refer

.

Custom AppsFAQ

How do I setup so that my client do not create issues?

Open article

When defining your custom app, there is a check box Clients can initiate this app which you can uncheck so that your clients do not initiate this.

Back to contents

Reports

11 articles

Concepts

ReportsConcepts

Report Types

Open article

There are many entities in Celoxis like projects, tasks and time logs. Some entities are also created by you using custom apps like bugs, risks, and issues. Each entity has its own attributes as well as attributes aggregated from other entities contained in it. For example, the project entity has its own attributes like name, priority, manager as well as attributes approved hours, invoiced revenue, planned labor cost, actual labor cost, etc. that are calculated from other entities like tasks, time logs and expenses.

When you create a report on Celoxis you have to first pick an entity on which to report. You can choose from:

TypeWhat you get
ProjectProject attributes including data aggregated at the project level from timesheets, expenses and tasks like hours, cost, revenue, profit, margin, etc.
TaskTask attributes including data aggregated at the task level from timesheets and expenses like hours, costs, revenue, etc.
Time EntryTime entry attributes like hours, submitter, cost, bill amount, etc. You can use these individual time entries to aggregate data the way you want. For example, using this report, you can understand how time was distributed across activities per client.
ExpenseExpense line item data like amount, expense code, etc. You can use these individual expense line items toanalyze your non-labor spends in a flexible way. For example, you can understand how expenses are distributed by expense codes per client.
FileFile information like check-outs, total size, path, etc.
DiscussionDiscussion information. E.g. you can create a report that lists all active discussions where you are participating.
Apps (e.g. Bug)App information or data aggregated for each workflow instance from timesheets like hours, costs, etc.
Task Status UpdateProgress update attributes of your tasks. For example, you can report on all the updates made in this week.
AssignmentTask assignment information like task, resource, planned vs actual hours, etc. An assignment refers to the allocation of one resource to one task.
UserUser attributes. Read More.
DashboardA dashboard report. Read More.
Activity LogActivities happening on different entities - who did what and when. Read More.
Time PhasedTime phased data of hours, cost, revenue, utilization, etc. Time phased data is the distribution of data in time. You can read more about it later in this chapter.

Time Phased

Time phased reports show how a quantity is distributed over time. For example, when you run a project report, you can see the total estimated cost of the project but if you want to understand the planned spend per week or month, then you will need to run a time phased report. Many quantities has time phased nature. E.g. budget, hours allocated to resources, cost, revenue, etc.

You can view time phased data in a tabular format as shown below or in the form of charts. Currently, unlike other entities, charts are not drill-down capable.

Available HoursThe working hours of a resource depending on the work calendar timings and exceptions.
Actual CapacityActual Effort ÷ Available Hours
Actual EffortApproved hours in time logs
Actual UtilizationActual Effort ÷ Available Hours as a percentage
Planned CapacityPlanned Effort ÷ Available Hours
Planned EffortThe number of hours a resource is allocated on a task
Planned UtilizationPlanned Effort ÷ Available Hours as a percentage
Actual Non-Billable HoursApproved non-billable hours from time logs
EfficiencyResource efficiency is calculated as Planned Effort ÷ Actual Effort as a percentage. A value of 100% means the resource is performing exactly as expected. Less than 100% means worse than expected while more than 100% means better than expected.
Free HoursThe number of unallocated time for a resource i.e. Available Hours - Planned Effort.
Free Hours (Realtime)Shows free hours assuming remaining hours for a task is distributed as per allocation from the present date. Remaining hours for a resource is Planned Effort - Actual Effort
Invoiced HoursHours from invoiced time logs.
Actual Bill HoursHours from approved time logs marked as billable
Actual CostTotal of labor, expense and fixed cost.
Actual Labor CostSum of cost from time logs
Actual MarginActual Profit ÷ Actual Revenue
Actual ProfitActual Revenue - Actual Cost
Actual RevenueSum of bill amounts of approved time logs and expenses
Invoiced RevenueSum of bill amounts of invoiced time logs and expenses
Planned CostSum of planned labor cost, planned non-labor cost and fixed cost
Planned Labor CostThe estimated cost of a resource working on a task. Total amount is distributed uninformly over the task duration.
Planned MarginPlanned Profit ÷ Planned Revenue
Planned ProfitPlanned Revenue - Planned Cost
Planned RevenuePlanned Effort × Resource Bill Rate. Available only when company's billing model is user-based not activity-based.
Possible RevenueAvailable Hours × Bill Rate. Available only when company's billing model is user-based not activity-based.

ReportsConcepts

Filtering

Open article

Filtering allows you to exclude unwanted data in your reports. Celoxis provides comprehensive and powerful filters for a large number of attributes including your custom fields.

Setting filters

A report's filters can be changed from the add/edit report screen. A sample screen with multiple filters including a custom field (Module) is shown below.

When multiple filters are selected, row have to match all filters. If a filter has multiple values (e.g. Module), then the row has to match at least one of those values. If you create a report with the above filters, then only those rows will be returned where (Display Tasks is in In Progress) AND (Module is one of UI or Middleware) AND (Planned Finish is in This Month) etc.

Running User filter

In the above example, you can see the the assignee is set to the special value of - Running User -. This indicates that the assignee must be filtered based on the person who is running the report. E.g. when Joe runs this report, he will only see his tasks while when Mary runs the same report, she will see her tasks.

Running User's Subordinates filter

This option is available in most user filters. The user should be a subordinate, directly or indirectly, of the person running the report. This option is useful when a manager wants to keep track of activities of his/her reportees. For example, if Joe wants to monitor all the high priority tasks assigned to his team, he should create a report, set the priority filter to High and Very High, and set the resources filter to - Running User's Subordinates -.

Prompt filters

In many cases, you would want the end-user to change the values of some of the filters. In the above example, the report allows the end-user to change the values of Display Tasks, Module and Planned Finish at the time the report is run. The below diagram shows how a user running the above report can modify the filters:

In the above example, the user has changed the Planned Finish filter from This Month to Last Month and also cleared the Module filter.

ReportsConcepts

Output

Open article

The kind of display you want can be selected from the Output tab on the add/edit report screen.

Tabular

This is the default output type and presents the data in a tabular output.

The view is quite dynamic with multi-level grouping and sorting, group totals, grand totals, etc.

This view is highly personalizable - you can change columns, grouping and sorting to suit your needs. See the top right hand side of the image above.

This view also has great productivity boosters. You can do bulk actions, perform an action on a line item by clicking the icon and even edit an attribute right there by clicking on the icon.

Show Totals Only

Show the total rows only. If the option was checked in the above report. You would only see the group and grant total rows and not the individual project rows.

Hierarchical

This organizes the row as per the parent-child relationship. It is only available for task, file and client reports. View this example that shows tasks grouped by project with the hierarchical option checked.

When this option is checked, the resulting totals only include those objects that result from the filters not the objects included (even if they don't match the filters) to show the hierarchy.


Gantt

The Gantt output is available only for project and task reports. In case of tasks, the output is a cross-project gantt chart as shown below.


Calendar

The Calendar output generates a calendar view for projects and tasks as shown below. The bar is colored as per the color of the project or task. You also have the option of turning off the bars in which case the start and finish evernt for the task and project will be separately generated.


Pie Chart

It is easy to create pie charts in Celoxis. These settings were used to create the Pie chart below.

Bar Chart

Celoxis supports a number of popular bar chart formats. Each of the bar chart type has been explained below and the form settings used to generate the chart has also been provided.

Simple Bar

The following bar chart was generated using these settings. Note how the Sort By setting sorts the bars in decreasing order. If you set the Bar Orientation as horizontal, it would result in this chart.

Comparison Bar

The following comparison bar chart was generated using these settings.

Stacked Bar

The following stacked bar chart was generated using these settings. Notice how the colors correspond to the color of the health indicator.

You also have the option of stacking it side-by-side.

Bubble Chart

The following bubble chart was generated using these settings.

If you do not select the bubble size, then this will become a scatter chart and all bubbles will be of the same size.


Card View

Card view is available as an output type for projects, tasks and apps. You can also drag and drop card across lanes if the lane's attribute is user-editable. For example, you can drag and drop if the lane was a custom field like Kanban Status but not if the lane was system calculated field like Schedule Health.

ReportsConcepts

Scheduling

Open article

Administrators can schedule reports to be emailed to specific users at regular intervals. To schedule a report, open the edit report screen and then click on the Schedule tab. You will see something like:

In the above example, the report will be run with the running user as Megan every Monday (since 12th Aug 2018 is a Monday) at 1:00 AM and the resulting PDF will be emailed to Weyland and Yutani.

Only non-virtual users can be selected as the report subscribers

ReportsConcepts

Sharing

Open article

Reports can be shared with your team or with clients.

Sharing with users

Sharing with users is determined by the Visible to Users field on the Details tab on the add/edit report screen.

  • To keep a report private, do not share it with anyone.
  • To share it with specified workspaces, select those workspaces.
  • To share it with everyone in your company, choose -All-

.

Sharing with clients

Sharing with clients is determined by the Visible to Clients field on the Details tab on the add/edit report screen.

  • To keep a report hidden from clients, do not share it with anyone.
  • To share it with specified clients, select those clients.
  • To share it with all clients, choose -All-

.

ReportsConcepts

Project Views

Open article

The tabs that you see on the project screen are also reports.

Your account comes with some default tabs but your administrator can customize them to suit your organization. Open AdministrationProject ManagementProject Views and you can add, edit, delete, and reorder the reports. A sample of the project views management screen is show below. Note now the order of the reports corresponds to the order of the project tabs.

ReportsConcepts

Dashboards

Open article

Dashboards are one of the most important screens in Celoxis. Not just for the information they can convey but also for the amount of things you can get done right from your dashboard.

A dashboard is a collection of reports. You can create different dashboards for different roles and functions. For example, you can create a task and project monitoring dashboard as well as the popular RAID logs dashboard for your project managers.

You can also create dashboards for clients. Client can get a nice overview of their projects, track their change requests, approvals, etc., and keep tabs on their online discussions.

An example:

Creating Dashboards

Celoxis allows shared dashboards as well as private dashboards. To create a dashboard choose Dashboard from the Main MenuReportsAll ReportsNew Report menu. An example: In the above example, we are creating a dashboard that is:

  • Named: Sample Dashboard
  • Shared with all users
  • Shared with clients: Client1 and Client 2
  • LHS is 65% wide (implies RHS is 35% wide)
  • The first column has three reports: Upcoming Milestones, Task Status and Risks
Filters

The dashboard filters allow data of only those projects that match the filter criteria. Marking filters as Prompt enable the person running the report to change its values.

Shared Dashboards

To create shared dashboards you will need the Add ReportGranted privilege. This can be set from the AdministrationAccountAccess Control screen. To maintain control, we recommend that you give this privilege only to responsible users.

Personal Dashboards

Personal dashboards are dashboards that are only visible to their creators. Personal dashboards can be created by users who do not have the privilege. To allow creation of personal dashboards, check the Allow Personal Dashboards option from AdministrationAccountCompany Information screen.

Assigning Dashboards to Users & Clients

Dashboards can be assigned to users and clients from their add/edit screen's Preferences tab. You can assign multiple dashboards and reorder them too. The first dashboard becomes the default dashboard for that user. Let's see the dashboard selection for Joe: From the above image we can see that Joe has been assigned three dashboards: Tracker Board - that lists out status of projects and tasks, RAID log - that tracks Risks, Issues, etc. and Weekly Status - that allows him to track the weekly updates.

If Joe, after logging in, clicks on Dashboard in the main menu, he would see something like:

Assigning dashboards similar to another user or client

Using the bulk edit screen's Dashboard Like... field, you can set the dashboard of multiple people to be like a particular person. For example, you can select Mark, Peter and Luke and make their dashboards exactly like Xavier.

Limits

Please read the Limits chapter for more information.

ReportsConcepts

Limits

Open article

Fetching and processing large amount of data not only slows down your response times but also for other users. We have put reasonable limits on the amount of data required to generate reports. If you are an On-Premise customer, you can change these limits but we strongly recommend that you do it after much deliberation.

Report Limits

15,000 records

For any report to run, it performs database queries. If a query returns more than 15,000 rows, the report does not run and an error message is shown to the user.

To remedy this problem, you should add more filters, especially those filters that can be performed in the database query itself. The most common filters are date filters since most likely you are interested in recent data. Project state filter, task completed filter and time entry state filter are also some useful filters that you should consider in limiting data.

Duration in Time Phased reports

Time phased reports are resource intensive as they perform a lot of dynamic calculations. The Period filter selects the duration of the report and is limited as follows:

  • If zoom level is Day the period cannot exceed 3 months.
  • If zoom level is Week or Month the period cannot exceed 12 months.

Dashboard Limits

A dashboard is a collection of reports. It is equivalent to running all the reports at once. Naturally, to control performance, we have to put some additional limitations on dashboards.

A dashboard has the following limits:

  • Time phased reports, Gantt rendering and Incomplete timesheet reports are not allowed on dashboards. You can star them for quick access.
  • A dashboard can have a maximum of 6 individual reports.
  • The maximum number of shared dashboards in an organization is 10.

Actions

ReportsActions

Managing Reports

Open article

To create reports, you must have the Reports > AddGranted privilege. To add a report, open the reports' panel by clicking Main MenuReportsAll Reports and then click the New Report button. Then pick an appropriate report type. This will open a form, details of which are explained below:

Details

  • Visible to Users — The group of users this report should be visible to. Read More.
  • Visible to Clients — The group of clients this report should be visible to. Read More.

Filters

The filters to limit the data for this report. Read More.

Output

The display you would like for this report - pie chart, bar chart, tabular, etc. Read More.

Schedule

Whether you would like Celoxis to email this report at regular intervals. Read More.

ReportsActions

Starring Reports

Open article

To get quick access to reports, you must star it. Starred reports appear in the Main MenuReports menu. Some reports, because of performance reasons, cannot be put on dashboards. If you use them regularly, then it will be a good idea to star them so that you can access them in a couple of clicks.

To star or unstar a report, first run that report and then click on the or icon in the report title. In the above example, the report is already starred as indicated by the filled star prefixed in the report title.

ReportsActions

Downloading Reports

Open article

You can download a report by clicking on the button. Reports can be exported in the following formats:

  • PDF – in A4 format
  • CSV – all records in the report are exported but there is no grouping of data
  • CSV (Grouped) – all records in the report are exported and grouped as you see in your browser

Back to contents

Users

10 articles

Concepts

UsersConcepts

Virtual Users

Open article

Virtual users are like regular users except they don't have logins and hence cannot login to Celoxis. Virtual users are free. Some use-cases are non-human resources like machinery, conference rooms and computers. Virtual users can also be used in instances where you want to assign tasks to that person but do not want to give access to the system. E.g. consultants.

Using Virtual Users

Virtual users:

  • can be assigned to tasks
  • receive related email notifications - task, discussions, etc if their account has an email address is specified.
  • can themselves update progress and log time on their tasks via email. Read more.
  • can participate in discussions via email
  • can add comments to app items via email

Creating virtual Users

A virtual user is created in the same way as a regular user except that the Virtual User option is turned on.

UsersConcepts

Reporting Manager

Open article

You can create your organizational chart in Celoxis using Reporting Managers. The main advantages of creating your organizational structure are:

  • Reporting managers have automatic visibility into their reportee's work.
  • Reporting managers can be used in the time approval workflow.

Setting Reporting Managers

Since Reporting Manager is an attribute of the user, only administrators can change it. The field can be changed from the add/edit user screen in the Basic tab.

UsersConcepts

User Glossary

Open article
AttributeRead/WriteDescription
NameRWFull name of the user.
EmailRWEmail address of the user. The email notifications will be sent to this address.
PhoneRWPhone number of the user.
Last AccessedRDate and time when the user last accessed Celoxis.
AdminRWWhether the user has been granted admin privileges.
Cost RateRWThe default per hour cost rate of the user. This can be overriden for a project if required.
Bill RateRWThe default per hour billing rate of the user. This can be overriden for a project if required.
IDRThe database primary key of the user record.
LoginRWUsername with which the user will login to Celoxis.
Primary Job RoleRWThe primary job role of the user. Read More.
Reporting ManagerRWThe reporting manager of the user. Read More.
RolesRWSecurity roles played by the user. Read More.
VirtualRWVirtual users cannot logon to Celoxis and is not counted towards license count.. Read More.
Work CalendarRWThe calendar that defines the user's work timings. Read More.
WorkspacesRThe workspaces in which this user plays a role. Read More.

Actions

UsersActions

Creating Users

Open article

Administrators can add users. If you have a large number of users, you should consider importing users from CSV.

To add one user at a time:

  1. Click Main MenuAddUserNew User
  2. Select an appropriate user and click Next
  3. In the Basic tab:
    1. Fill in Name, Email, Work Calendar, and Reporting Manager.
    2. If you wish the user to have a login, enter login and password, else click on Virtual checkbox
    3. Assign appropriate roles
  4. In the Custom Fields tab, fill in the appropriate custom fields.
  5. The Preferences tab will be prefilled based on the user we selected in the 2nd step. Read more about this tab.
  6. Check the Add Another check box if you wish to add more users like this one
  7. Submit

If the user was created with a login, an email with login information will be sent to that person.

UsersActions

Managing Your Preferences

Open article

You can change your language, formats, dashboards and customize email notifications from your preferences screen.

Changing Photo and Preferences

Clicking on the user icon in the main menu as show below: To change your photo, click Change below the photo.
To change your preferences, click My Settings

Preferences

Locale

Locale is a combination of language and country and determines the application interface language and number format settings. For example, choosing French (France), will not only change your application interface labels to French but the decimal point would become the comma symbol as expected in France.

Date Formats

The input date format is the format in which you will input dates in Celoxis. E.g. In the U.S., people prefer MM/DD/YYYY while in India, the preference is for DD/MM/YYYY.

The display date format is the format you wish to view dates when they are displayed.

Dashboards

You can choose the dashboards that appear in the main menu. The first one becomes your default dashboard. Read the chapter on dashboards for more information on dashboards.

Email Notifications
Projects managed by me
Task is off track.If any task's schedule in a project you manage becomes off-track, you will receive an email notification.
Task did not start because of incomplete predecessors.If any task in a project you manage becomes blocked, you will receive an email notification.
Work item progress is updatedIf any task or custom app is updated in a project managed by you, you will receive an email notification.
Tasks assigned to me Note: Notifications are sent only if the task's project is in the Execution stage
Task is modified.If any task assigned to you is modified, you will receive an email notification.
Task is assigned to you.If a task is assigned to you, you will receive an email notification.
Task starts in the next 24 hours.If you are assigned to a task and its planned start date lies in the next 24 hours, you will receive an email notification.
Task is off track.If you are assigned to a task that becomes overdue, you will get an email notification.
Task progress is updated.If a task assigned to you gets any progress upates, you will be notified.
Time
Time is submitted on your behalf.If time is submiited by someone else on your behalf, you will receive an email notification.
Time submitted by you is rejected.If time submitted by you is rejected by anybody in the approval workflow, you wll be notified.
Daily incomplete timesheet reminderYou will receive an email if your timesheet for the day is deemed incomplete based on the rule set in the company's incomplete timesheet setting.
Expense
Expense is submitted to you for approval.If an expense is submitted in a task in a project you manage, you will receive an email notification.
Expense submitted by you is approved.If any expense submitted by you is approved, you will be notified via email.
Expense submitted by you is rejectedIf any expense submitted by you is rejected, you will be notified via email.
Files
New version of your favorite or checked-out document is available.You will receive this notification when a new version of the document marked as favorite by you, or checked out by you, is available.
New documents or versions are available in your favorite folders.You will receive this notification when a new document or a new version of the document is available in folder marked as favorite by you.
Custom Apps Read about state managers referenced below.
Item is assigned to you.You wil receive an email when an item is assigned to you.
Item assigned to you is updated.If a comment is added to an item, or its attributes changed, or a state transition performed, you will be notified if you are assigned to the item.
Item assigned to you is delayed.You will receive this email when an item assigned to you is marked as delayed or when it goes past its due date without finishing.
Item for which you are the state manager is delayed.You will receive this email when an item for which you are the state manager, is marked as delayed or when it goes past its due date without finishing.
Item for which you are the state manager is unassignedYou will receive this email when an item for which you are the state manager, becomes unassigned.
Item is assigned to a state for which you are the managerYou will receive this email when an item moves to a state in which you are the state manager.

UsersActions

Importing Users from CSV

Open article

Celoxis provides you with the ability to import users from CSV. If you have a Microsoft Excel file, then you can export it in CSV (comma separated values) format and then import it in Celoxis.

To import users, go to the users page – Main MenuViewUsers and then click on the Import button. Upload the users in the format described below and in the Create users whose dashboard, preferences and security is like... choose the appropriate user. It may be required that you split your CSV file into different files so that you can import users with similar behaviours together.

Fields supported:

  • Name - mandatory
  • Email
  • Phone
  • Manager - the name or email of the reporting manager. This user must already exist in Celoxis.
  • Username - the login name. Not applicable when SSO is in live mode.
  • Password - the plain text password. Not applicable when SSO is in live mode.
  • Virtual - true or false to indicate whether the user is virtual or not. If you specify this value as false or blank, then you must provide a username and a password for this user.
  • Administrator - true or false to indicate whether to give this user admin privileges.
  • Primary Job Role - the name of the job role.
  • Custom Fields - you will have to create the fields in Celoxis first

On a successful import, all non-virtual users i.e users who can login are sent a welcome email with their login information.

UsersActions

Deactivating Users

Open article

When you no longer want a user to appear in pick lists, e.g. when a user leaves the organization, you should deactivate that user. After deactivation, that user will not be able to login and will stop appearing in any user pickers. If the user had a login, then it frees up a license that can be used for another user.

Celoxis does not provide a delete user because a lot of data, e.g. projects, tasks, discussion posts, time logs, expenses, updates and comments, is associated with a user and needs to be preserved.

Only administrators can deactivate users. To deactivate:

  1. Click Main MenuViewUsers
  2. Click on that user
  3. From the user's actions, click Deactivate
  4. If you wish to reassign the user's current responsibilities to someone else, select that user. If you select a user, then the following responsibilities will be reassigned to that user:
    • Open projects where the user is the project manager
    • Incomplete tasks assigned to the user
    • State Manager in various custom apps
    • Open custom app items
  5. Deactivate

.

UsersActions

Logging in as another user

Open article

Celoxis lets you login as another user if you have administrator privileges. Logging in as another user is useful in many scenarios – to check if the dashboard is looking as expected, to change a setting that the user is having difficulty with, or to see what the user at the end of the telephone is looking at while he/she is describing the problem to you.

To login

Navigate to Main MenuViewUsers and click on for the user you wish to login as. Then click Login As from the menu.

To logout

Once you are done, you can click on Main MenuSwitch Back to logout as that user and automatically login as yourself.

UsersActions

Bulk Actions

Open article

Bulk actions allow you to select one or more users from a list view and perform actions on them.

Resend Login Info

Emails login information to the selected users. Emails are sent only to non-virtual users since only they have login access. Also, since Celoxis doesn't store the pasword, no password is sent; but a convenient link to reset the password will be sent in the email instead.

Bulk Edit

You can select one or more fields, including custom fields, of the selected users. Some interesting fields are:

  • Dashboard like – sets the dashboards of the selected users to be like this one.
  • Change Roles – replaces all existing roles of selected users with the ones chosen here.
  • Bill & Cost Rates – sets the default rates for the selected users. Note that no time logs are updated. Task estimated costs are recalculated.

FAQ

UsersFAQ

Can I enter a different rate for a user on a project?

Open article

Yes, you can override the rates at project level. For details, refer:

and

.

Back to contents

Access Control

9 articles

Concepts

Access ControlConcepts

Workspaces

Open article

The primary purpose of workspaces is to achieve flexible isolation of projects. Teams should be able to work independently without the possibility of stepping on each other but can work together if required. Consider the following real-world scenario:

Acme wants its engineering and marketing teams to work in isolation but for some marketing projects the marketing team should be able to bring in a few engineers on their project team. Acme also want a few people from the finance team access financials of projects from all departments. Plus, CXOs should have access to all projects in all departments.

Celoxis handles the above and many other real-world scenarios.

You can think of workspace as a department. In some cases, you can even map workspaces to geographical branches. It all dependens on how you want to segregate your projects and teams.

Managing Workspaces

Only administrators can manage workspaces. To manage workspaces, go to AdministrationAccountWorkspaces.

Access ControlConcepts

Privileges

Open article

A privilege is like a permission. In Celoxis, if you want to view an item like project or task or perform any action on it like edit or delete, you will need the corresponding privilege. E.g. to view a task, you will need the Task > ViewGranted privilege, to delete a project, you will need the Project > DeleteGranted, while for logging time for another user you will need the Time ProxyGranted privilege. If you do not have the privilege, you will not be allowed to perform the action.

Celoxis has a very granular privilege structure — with over 50 privileges, you get fine-grained control over user actions.

Some actions like creating users, require administrative privileges. Any user can be given admin privileges. To do that, login as admin, edit the user and check the Administrator Privilege under Access Control. Users with the administrator privilege can peform any action even if they have not been granted privileges explicitly.

Privileges are assigned to roles. Read the next chapter to understand the interplay between privileges, roles and users.

Access ControlConcepts

Roles

Open article

Not to be confused with a job role, a security role is a collection of privileges. For example, we can create a Project Viewer role having the privileges: View ProjectGranted, View TaskGranted, and View FinancialsDenied. We can also create another role Project Collaborator with New DiscussionGranted and Add DocumentGranted privileges.

Role Based Access Control (RBAC)

Role based access control is an approach where access to an object for a user is controlled based on the roles the users is playing in that object. In this approach instead of directly assigning privileges to users, privileges are assigned to roles and roles, in turn, are assigned to users.

Why RBAC?

Why not just assign privileges to users? Wouldn’t that be easier? For teams with less than 10 users, the way of assigning privileges indirectly through security roles (RBAC) is probably an overkill. But as the number of permissions increase (Celoxis has around 60) and team sizes increase, managing privileges becomes difficult, error-prone and time consuming. When new employees are added to the team, the administrator will have to spend a lot of time giving them privileges and at the same time ensuring none of them are accidentally given (or denied) a privilege not intended for them.

With roles based security, admins would simply assign the new employee the right roles in the right workspaces. E.g. when Mark Marketer joins the company, all the admin would have to do is assign him the Junior Marketing Executive security role in the Marketing workspace. Mark is just another junior marketing executive whose security role has been carefully populated with the right access control privileges.

Managing Roles

Only administrators can manage roles in Celoxis. To manage, click AdministrationAccountAccess Control.

AClick to add a security role
BClick to edit or delete a security role
CClick to view and modify users playing this role
DAuto-assigned roles. Note how you cannot assign it to members.
ERole Executive has been granted the View Financials privilege. Click to change it.
FRole External Users has been denied the View Financials privilege. Click to change it.
GClick a tab to set privileges associated with it.

Access ControlConcepts

Assigning Roles to Users

Open article

Users can play different roles in different workspaces. They can also play different roles in different projects.

Assigning Roles in Workspaces

Security roles can be assigned to users per workspace.

For example, Joe Doe, Vice President (Engineering), may be assigned the Project Supervisor role in Engineering so that he can perform any of the project actions in Engineering, assigned the Project Viewer role in Marketing so that he can view any project in Marketing, but play no role in Sales.

In Celoxis, you can assign security roles to users on the add/edit user screen or using the bulk user edit screen.

Assigning Roles in Projects

Users can be assigned roles in specific projects.

Users who play roles in a workspace, play those roles in all projects in that workspace. However, in some instances, you may want to give some additional privileges to a user in a specific project.

For example, Earl Engineer plays the role Project Viewer in the Engineering workspace. However, he is playing a lead part in one of the projects, so the project manager could give him the Project Supervisor role for that specific project. This would mean that Earl gets all the privileges associated with Project Viewer as well as Project Supervisor in that project.

Auto-Assigned Roles

Some security roles are automatically assigned to user, by the system, depending on the object on which the user is trying to perform the action on.

For example, if Mark, a project manager of a project, is trying to view a task in that project, the system will automatically assign him the role Project Manager only for that action. If Mark tries to view a task in another project of which he is not the project manager, he will not be assigned that role.

The following roles are automatically assigned to a user:

  • Project Manager — when the user is a project manager of the object's project.
  • Project Team — when the user is a project team member of the object's project.
  • Task Team — when the user is trying to perform an action on a task assigned to him/her.

Auto-assignd roles make it convenient to define polices like "All project team members can view and comment on any tasks in their projects" and "Project managers should be able to modify any task in their projects" easier.

The Staff Role

If the user is performing any role in a workspace, then that user also plays the Staff role in that workspace.

The Staff role is a convenience that allows definiting policies for All members of a workspace. E.g. if you want all users in Marketing workspace to be able to view its projects, you would give the View ProjectGranted privilege to the Staff role.

Access ControlConcepts

How it Works

Open article

How access control is checked is best explained through an example. Let's assume that Joe is attempting to edit the task T. The steps Celoxis would follow to determine if Joe can do this are:

  1. Check for the administrative privilege

    If Joe has administrative privilege, then he will be granted the privilege. No other check is required.

  2. Determine the privilege required

    Joe would require the Edit TaskGranted privilege on T

  3. Check if the project can be viewed

    Since T belongs to a project, the system will check if Joe has the View ProjectGranted on T's project. If no, Joe will be denied the Edit Task privilege.

  4. Gather all security roles played by the user

    The system will build a set of all roles that Joe plays in T. This would include :

    • All roles assigned to Joe in the project's workspace.
    • All roles assigned to Joe in the project.
    • Auto-assigned roles to Joe for the project and T.
  5. Build the set of all privileges

    Since a security role is a collection of privileges, based on all the roles played by Joe, the system would build a set of all the privileges for all the roles played by Joe collected in the previous step.

  6. Check if the privilege has been unanimously granted

    If the collection of privileges includes Edit TaskGranted and does not include Edit TaskDenied, then Joe will be granted the permission to edit the task T; else the permission will be denied.

Actions

Access ControlActions

Assigning Roles to Users

Open article

You can assign roles to users in workspaces if you have administrative privileges. To assign roles, open the add/edit user form and select all the workspace::role combinations. In the following example, Janet is playing the role Developer in the Engr workspace. - All - :: <Role> is a shortcut to specify the same role in all workspaces. In this case, the CEO will most likely be assigned the role - All :: Executive. You can read more about this topic in this chapter.

Access ControlActions

Assigning Roles to Users in a project

Open article

You can make a user play some more roles in a project. Click on the project and click Project ActionsMoreAccess Control. This will open a screen like this:

Click on the icon next to the role and select the users who will play that role in the project. You can read more about this topic in this chapter

Access ControlActions

Overriding the Access Control for a project

Open article

It is sometimes desirable to grant (or deny) additional privileges to roles for a specific project. To do this, click on the project and then click Project ActionsMoreAccess Control. This will open a screen like the one below.

The faded check marks indicate that those privileges have been assigned to roles at a global level. These cannot be changed. However, we can assign additional privileges to roles for which the privilege was left unspecified. We have done this for the Staff role for this project. We have allowed everyone playing the Staff role to view the project as well as to add tasks to this project.

FAQ

Access ControlFAQ

How do I restrict certain users from viewing any financial information?

Open article

Remember that in Celoxis, users can see or do things only if they have the privilege required to perform the action. Celoxis provides the View Financials and Edit Financials privileges to control view and edit access to financial information. Users can view financial information only if they have the View FinancialsGranted. E.g. if Joe is assigned a role that has been granted this privilege, only then Joe will be able to view the financial information.

If certain roles have been granted the View Financials privilege and you wish to revoke it, then you can do so from the access control screen.

In the unlikely scenario that you do not wish to show a user the financials for a specific project, then:

Back to contents

Miscellaneous

12 articles

Concepts

MiscellaneousConcepts

Job Roles

Open article

When a project is being planned, more often than not, we do not know the exact resource who will be working on a task. However, we know the job role or job function for that task. For example, we may know that to complete a task we need a Java developer but we do not know, or care, at that point who out of our hundred Java developers is going to work on that task.

Celoxis allows you to create job roles and assign them to tasks.

Using job roles has the following benefits:

  • They act as a placeholder for a real resource — You can use the replace multiple resources functionality later to replace them with a real resource. Read more.
  • They help in determining budget — When you assign a cost rate for a job role, it is used in calculating the estimated cost of a project
  • They help in determining potential revenue — When you assign a bill rate for a job role, it is used in calculating the estimated revenue of the project.
  • They help in understanding the demand and capacity gap — Their availability in Time Phased reports is always considered zero. Hence if you group by Job Roles, you can easily see the demand-capacity gap. This helps PMOs in determining which projects to accept and also make hiring decisions.

Using Job Roles

Job roles can be assigned to tasks. They are also available in columns and filters. You can aggregate information on job roles in reports and charts.

Capacity Planning

Job Roles play an important role in capacity planning and demand management. We have already bundled a capacity reports, that shows the net resource capacity in the future. You can customize this report to suit your needs.

Managing Job Roles

Job Roles can be managed only by administrators. To manage go to AdministrationAccount ManagementJob Roles.

MiscellaneousConcepts

Custom Fields

Open article

Custom fields allow capture of business specific information on projects, tasks, users, clients and custom apps.

You can create custom fields of the following type:

TypeDescription
CurrencyA numeric field with decimals which when displayed will be prefixed with the currency symbol.
DateA date field. Includes a convenient calendar picker for the user.
File ChooserA file attachment field.
FormulaA field whose value can be computed based on that of other attributes.
Multi-line TextA field which allows you to enter rich text.
Multi-selectA pick list that allows multiple options to be picked.
Numeric (No Decimals)A numeric field without decimals.
Numeric (With Decimals)A numeric field with decimals.
Single-line TextA textual field allowing you to enter text data.
Single-selectA pick list that allows only one option to be picked.

Managing custom fields

Only administrators can manage custom fields. To manage, go to AdministrationAccountCustom Fields.

Reordering custom fields

You can control the order of custom fields in forms and overview screens. To reorder, open the custom fields screen as indicated above and click on the Reorder button. You can reorder the fields using -drag-n-drop.

Attaching custom fields to entities

Celoxis allows a custom field to be attached to various entities. For example, you can create a custom field Country and attach it to projects, users and clients without having to create a new field for each of them.

Customizing fields based on project types

If you want to capture different fields for different project types, select the appropriate project types for each field in the Attached To tab on the add/edit custom field screen.

Financial fields

If your intend to put sensitive financial information in your custom field, e.g. Target Profit Margin, check the Requires financial privilege option on the custom field add/edit screen. Users will require the View Financials privilege to view and Edit Financials privilege to edit the field.

Rollup fields

Sometimes it is required for task fields to be rolled-up to the summary task or project level. E.g. if you capture cable length used field for a task, then you would probably want to see the total cable length used at a project level. Marking a field a as a roll-up field allows this capability. You can roll-up the sum, average, min or max of a field.

To make a field rollup its value, choose the Rollup Method option to one of sum, average, min or max, on the add/edit custom field screen.

Colors

You can define colors for single-select and formula fields. If those fields have colors, the resulting value is formatted to show color. The color is also used in charts.

To define colors for a single-select field, define a color for each option. To define colors for a formula field, define a color for each possible output. To see the allowed values, click on the icon.

Formula fields

This topic has been covered in-depth its own chapter.

MiscellaneousConcepts

Formula fields

Open article

A formula custom field's value is automatically calculated by Celoxis based on its formula. The value is calculated every time the field is rendered. The formula expression language is sophistacted so you can peform complex data manipulations including arithmetic, string and date transformations.

Syntax

Celoxis treats anything between

and

as expressions. Formulas can be either defined as pure expressions e.g.

, or contain a mix of text and expressions as

when anything enclosed in

and

is treated as an expression and evaluated, while everything outside it is copied to the output verbatim as is. For the curious, if the formulae were attached to a project whose name was

and budget was

the output would be

and

respectively.

The dot operator

The dot operator is used to reference a property of an object. In the example

, the

refers to the project's budget if the custom field is attached to a project. The dot operator can also be used to call a function (a.k.a. method) of an object. In the example

, the

is a function call that would transform the project's name to upper case charcters.

Operators
  • Arithmetic: +, - (binary), *, / and div, % and mod, - (unary)
  • String Concatenation: +=
  • Logical: and, &&, or, ||, not, !
  • Relational: ==, eq, !=, ne, <, lt, >, gt, <=, ge, >=, le. Comparisons can be made against other values or against Boolean, string, integer, or floating-point literals.
  • Empty: The empty operator is a prefix operation that can be used to determine whether a value is null or empty.
  • Conditional: A ? B : C. Evaluate B or C, depending on the result of the evaluation of A.
  • Assignment: =
  • Semicolon: ;

The precedence of operators highest to lowest, left to right is as follows:

  • [] .
  • () (used to change the precedence of operators)
  • - (unary) not ! empty
  • * / div % mod
  • + - (binary)
  • +=
  • < > <= >= lt gt le ge
  • == != eq ne
  • && and
  • || or
  • ? :
  • =
  • ;
Reserved Words

The following words are reserved for the EL and should not be used as identifiers:

andornoteq
neltgtle
getruefalsenull
instanceofemptydivmod

Basic Examples

FormulaResult
${1 > (4/2)}false
${4.0 >= 3}true
${100.0 == 100}true
${(10*10) ne 100}false
${'a' < 'b'}true
${'hip' gt 'hit'}false
${4 > 3}true
${1.2E4 + 1.4}12001.4
${3 div 4}0.75
${10 mod 4}2
${!empty entity.code}False if the entity's code is null or an empty string.

Utility Functions

The following set of helper functions have been provided:

Format

formatDate(date)The formatted value of date (without the time) as per viewer's preferences.
formatDateTime(datetime)The formatted value of date and time as per viewer's preferences.
formatNumber(number)The formatted value of the number as per the viewer's locale.
formatCurrency(number)The formatted value of currency as per the currency specified in the company's preferences and number format as per the viewer's locale. E.g. $25,000
hoursToHHMM(number)Formats the hours in the form HH:MM. For example, 2.5 will result in 2:30

Math

ceil(number)The nearest integer larger than the input. For example ${ceil(5.3)} will return 6
floor(number)The nearest integer smaller than the input. For example ${floor(4.8)} will return 4
abs(number)The absolute value of a number. For example ${abs(-3.2)} will return 3.2
round(number)The rounded value of input. For example ${round(3.6)} will return 4

String

String.contains(haystack, needle)Check if needle exists in haystack
String.endsWith(string, suffix)Check if string ends with suffix
String.replace(txt, search, replace)Replaces all occurences of search in txt with replace
String.startsWith(string, prefix)Check if string starts with prefix
String.trim(string)Trims whitespace and control characters from the ends of the string

Date

Date.before(date1, date2)Returns true if date1 is before date2.
Date.equal(date1, date2)Returns true if date1 equals date2.
Date.after(date1, date2)Returns true if date1 is after date2.
Date.format(date, format)The formatted value of the date as per the format. For supported formats see this.
Date.hoursBetween(from, to)Return the number of elapsed hours between from and to.
Date.workingHoursBetween(from, to)Return the number of working hours between from and to based on the company's default work calendar. If the elapsed days between from and to is more than 30, the elapsed hours is returned.
Date.plusHours(date, hours)Adds hours to date and returns that date.
Date.isoToDate(string)Converts string in ISO format to a date.
Date.now()Returns a date representing the current date and time

Writing multi-line formulas

To write the formula code on multiple line, use the = and ; operators. The return value is the last statement of the formula. For example:

${
apc = entity.actualPercentComplete;
ppc = entity.plannedPercentComplete;
(apc - ppc)/ppc
}

The formula return data type

While defining a formula, you have to select a Formula Data Type. This tells the system what it should expect the formula to return. Celoxis formats the return value automatically based on the data type. For example, if you indicate the return type to be a currency, then if your formula returns a number 10000, the output would be $10,000 i.e. Celoxis automatically formats the number and prefixed it with the company's currency symbol.

The entity object

The entity object in formula represents the entity for which the formula is being evaluated. E.g. let's say that our formula field Client Advance is defined as ${entity.budget * 0.1} i.e it represents 10% of the budget. If we have attached this field to both projects and tasks, then while evaluating the formula for a project, the entity object would be a project while for a task it would be a task object.

Field reference

To view the list of available fields, click on the Field Reference tab on the add/edit custom field screen. Click on the plus icon to expand the list of available variables for the various entities.

Error handling

When there is an error evaluating a formula, e.g. you passed a number where a string was expected, the output woul show ERR!. Move your mouse over it to get a better description of the problem.

Examples

Assume that we have a project with the following data.

LabelFieldValue
IDid1234
NamenameSetting up office space
StartstartCalendar10 January, 2011
Budgetbudget5000
Estimated CostestimatedCost4000
Actual CostactualCost3800

We'll now look at a few simple examples. We shall assume that the formula is attached to projects and the sample output is for the project described above.

FormulaOutputComments
${entity.id * 10}12340id is multiplied by 10
entity.id * 10entity.id * 10Not enclosed in ${} and hence copied to the output verbatim.
ID:${entity.id}ID:1234Text mixed with an expression
${entity.name + 100}ERR!Cannot perform arithmetic on String type.
${entity.abcd}ERR!entity does not have a property named abcd.
${formatDate(entity.startCalendar)}Jan 10, 2011Formats the start date as per the user's date format style.
${entity.actualCost gt (entity.budget*.9) ? 'ALERT' : 'OK'}ALERTAn example on how to write if/then/else
${formatCurrency(entity.budget)}$ 5,000Assuming your currency symbol is $
${round(((entity.budget - entity.actualCost)*100)/entity.budget)}%24%Calculates the % of budget remaining
Advanced Example: Your own schedule health indicator

Let's say that you want to have a schedule health indicator that is based on baselines i.e. the date you actually promised to the customer rather than on the current plan's finish date.

You will create a formula field, attach it to projects, set it's output data type to Text and enter the formula as:

${
pc = entity.actualPercentComplete;
pFinish = entity.projectedFinishCalendar;
bFinish = entity.baselineFinish;
now = Date.now();
label = 'Unknown';
label = Date.before(pFinish,  bFinish) ? 'On Time' : label;
label = Date.after(pFinish, bFinish) ? 'At Risk' : label;
label = Date.after(now, bFinish) ? 'Overdue' : label;
label = pc == 100 ? 'Completed' : label;
label
}

In the Color part of the formula put the mappings as:

ResultColor
On TimeGreen
At RiskOrange
OverdueRed
CompletedBrown

MiscellaneousConcepts

Search

Open article

You can search for objects based on keywords using the search box on the top right side of the main toolbar. The following table describes what is searched:

EntityFields searched
ProjectName, description, code, and custom fields.
TaskName, description, custom fields, and comments.
FileName, description, and content.
DiscussionName, description, and posts.
App Item (e.g. Risk, Bug, Issue, etc.)Name, description, custom fields, and comments.
User, Client or ContactName, email address, keywords, and custom fields.

Search Options

  • To search for a phrase, enclose it in " e.g. "sales tax"
  • To exclude a term, prefix it with - e.g. -Microsoft
  • To make a term mandatory, prefix it with + e.g. +penguin
  • To search for a prefix, suffix it with a * e.g. docu* will search for all words starting with docu

MiscellaneousConcepts

Mobile Interface

Open article

Celoxis provides a feature-rich mobile optimized interface that can be accessed from any iOS, Android, Windows Mobile, Tizen, or any other mobile device with a modern web browser. There is no need to download or install any application. You will be taken to the mobile interface automatically upon accessing the application from your browser.

Actions

MiscellaneousActions

Enabling or Disabling Features

Open article

Celoxis gives you the ability to turn some features and capabilities off. Once you turn them off, all fields, actions and menus associated with that module are no longer shown thus simplifying the user interface. You can turn them back on anytime. For example, if you turn off the Expense module, you will see all expense related menus from the main menus, report columns & filters, and task actions disappear.

To enable or disable features, go to the Administration page and turn features on or off as indicated below:

MiscellaneousActions

Configuring Company Settings

Open article

The company settings form allows you to configure behaviour and defaults for your users. It also allows for entering your Single Sign-On settings.

Some of the non-trivial settings are:

  • Company Code – A business ID. We recommend that you enter the second level of your domain name here. E.g. acme.com should enter acme here.
  • Document Language – Celoxis uses a search engine library that will behave differently when you are mostly going to enter CJK text
  • Week Starts On – This determines the first day of the week shown in calendars
  • Min Days in 1st Week – This determines whether the week of 1st January lies in the 53rd Week of the previous year or 1st week of the current year.
  • Fiscal Year Starts – This determines where a date lies in Q1, Q2, Q3 or Q4.
  • Allow Personal Dashboards – This is covered in the chapter on dashboards

Single Sign-On

This topic has been covered in depth in this chapter.

MiscellaneousActions

Configuring Single Sign-On (SSO)

Open article

You can access Celoxis with corporate credentials if SAML-based SSO is enabled for your account. Celoxis works with Google, Salesforce, Okta, OneLogin and Microsoft ADFS; although any SAML 2.0 based IDP should work.

For SSO to work, ensure the following:

  • Your SSO Identity Provider (IDP) is SAML 2.0 based.
  • All your users, clients have unique email addresses.
  • The email address of a user in Celoxis matches the email address for that user in your IDP.

To setup SSO, open AdministrationAccountCompany Information and click on Single Sign-On. You will see the form like this:

SSO Modes

In all modes, client accounts will continue to be autheticated using Celoxis credentials.

  • None – SSO is off. Only Celoxis credentials can be used to log in.
  • Test – SSO is on. SSO and Celoxis credentials can both be used to log in.
  • Live – SSO is on. Only SSO can be used to log in.
    • Your users will not be able to Forgot Password link in Celoxis since we will not store user passwords.
    • You will not see the Login and Password fields on the add/edit user forms.
    • If you are locked-out for any reason, contact us and we shall reset your SSO details.

Steps in setting up SSO

1: Enable SSO in Test mode

Open AdministrationAccountCompany Information and go to the Single Sign-On tab

  1. From the Status row, click on the Test radio button.
  2. From the options below, copy the ACS URL. This will be required to setup your IDP.
  3. Setup your IDP. The IDP will give you a set of settings to enter into Celoxis.
  4. Come back to this screen with the settings collected in the previous step.
  5. Enter the IDP Entity ID. This is provided by the IDP.
  6. Enter the IDP URL. This is the address of your IDP which will be contacted for autheticating users.
  7. Copy - Paste the IDP Certificate. This information is available in the certificate provided by your IDP.
  8. Click Save
2: Test your setup
  1. After your step 1 is complete, you should try login to Celoxis by clicking on the Connect via Single Sign-On link on the Login page.
  2. After you click on the above link, you will be prompted to enter the email address.
  3. After entering this, you are directed to your IDP login screen; if not already logged in, where you are prompted you to enter the Email and password.
  4. After successful authetication, you are directed to Celoxis Dashboard. If something goes wrong, have a look at the Common Errors section under your IDP.
3: Go Live with your SSO
  1. After you have successfully completed step 2, review your SSO details again.
  2. Then, click on Live.
  3. Click on Save.

Setting up your IDP

Before you set up Celoxis, you will first need to tell your IDP about Celoxis. The following are the instructions for some of the popular IDPs. If your IDP is not listed here, please consult its documentation.

All IDPs will require an ACS URL for Celoxis. You can find this for your organization by clicking on Test or Live radio buttons as shown above.

Google

Create a SAML App in Google

  1. Sign in to your Google Admin console using an administrator account.
  2. Click Apps > SAML apps.
  3. Click the plus icon in the bottom corner.
  4. Click on SETUP MY OWN CUSTOM APP.
  5. The Google IDP Information window opens and the SSO URL and the Entity ID fields are automatically populated. You need to copy the Entity ID and the SSO field values and download the IDP metadata (Option 2) to paste them into the appropriate fields in Celoxis.
  6. After you have entered this information in Celoxis, come back to the admin console and click Next.
  7. In the Basic window, enter an Application name and Description.
  8. Click Next.
  9. In the Service Provider Details window, enter:
    • ACS URL: Enter the value copied from the SSO tab.
    • Entity ID: Enter celoxis.com
    • Start URL: For SaaS, enter https://app.celoxis.com/psa/person.Login.do, for On-Premise, https://your_URL/person.Login.do
  10. Leave Signed Response unchecked.
  11. Under the Name ID, for Basic Information, select Primary Email.
  12. UnderName ID Format drop-down, pick EMAIL.
  13. Click on Next.
  14. Click Finish.

Enable the SAML App for users

  1. Go to Apps > SAML apps.
  2. Select the SAML app your created above.
  3. At the top of the gray box, click on Settings and choose On for everyone and confirm the settings.

Common Errors

Error: app_not_enabled_for_user
Solution: You have not enabled the SAML app for your users. Follow the steps mentioned above to enable the app for everyone. The same error will be shown if you are logged in to Google account using a different user than the one setup for IDP.

Server Error : No company found with company code: XXXX
Solution: The ACS URL you have entered in Google configuration is incorrect. Copy the correct URL from the ACS URL field under Single Sign-On tab in Celoxis.

Invalid Request, no idpId in request URL or Destination param of the SAML request.
Solution: The IDP URL you entered in Celoxis is incorrect. You need to copy this from your IDP and paste it in Celoxis.

Salesforce

  1. Enable My Domain from Setup > Administer > Domain Management > My Domain. Deploy it to all users. This will automatically create Salesforce Identity Provider.
  2. Navigate to Administer > Security Controls > Identity Provider. You will see Identity Provider setup details which needs to be entered in Celoxis.
  3. lick on theDownload Metadata button to download the certificate. This certificate is entered in Celoxis.
  4. Now, on the same page below, click on Service Providers are now created via Connected Apps. Click here.
  5. On the New Connected App page, enter the following details:
    • Connected App Name
    • Start URL
    • Check the Enable SAML checkbox.
    • Entity ID
    • ACS URL
    • Subject Type: Select Custom Attribute
    • Name ID Format: Select urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
    • IdP Certificate: Select the appropriate certificate you have entered in Celoxis (Step 3)
  6. Click on Save.
  7. After the App is created, you now have to associate User profiles to this so that users belonging to these profiles can login via SSO.
    Navigate toManage Apps > Connected Apps. Click on the app your just created.
  8. Scroll down and click on Manage Profiles.
  9. Select the required profiles and click on Save.

Common Errors

Server Error Not authenticated
Solution: The IDP certificate you have entered in Celoxis is incorrect. Enter the correct certificate you have created for this (Step 3 above) You will face the same error if you have not associated the logging in user's profile with the Connected app as explained in step 7 to 9 above.

Okta

  1. Log in to your Okta organization as a user with administrative privileges.
  2. Click on the Admin button on top-right.
  3. Click on the Add Apps label.
  4. Click on the Create New App button.
  5. In the dialog that opens, select the SAML 2.0 option, then click the Create button.
  6. On the General Settings page, enter the application name, for e.g. Celoxis in the App name field, then click the Next button.
  7. For Configure SAML step, enter the following details:
    • Single sign on URL: This is the ACS URL you will get from Celoxis
    • Audience URI (SP Entity ID): For SaaS users, enter: https://app.celoxis.com; for On-Premise users, enter the URL of your application.
    • Name ID format: EmailAddress
  8. Click Next.
  9. In Feedback, select “I’m an Okta customer adding an internal app”, and “This is an internal app that we have created,” then click Finish.
  10. In the People section of the application, click on the Assign to People button. Select the required users and click on Done.
  11. In the Sign On section of your newly created application click on View Setup Instructions. A new tab opens with the details you need to enter in Celoxis. Fill the single sign-on section in Celoxis.

Common Errors

If you are still prompted for credentials after clicking on Connect via SSO and entering SSO credentials, it means that you have entered the ACS URL /Single sign on URL in Okta incorrectly. Please correct and try again.

Sorry, you can't access <app name> because you are not assigned this app in Okta.
The user who is trying to login via SSO is not assigned to the app created in Okta. Redo the step Assign to People mentioned above.

OneLogin

  1. Login to your OneLogin account with administrator privileges.
  2. Click on Add App from the setup screen or from Apps ->Add Apps
  3. Search for SAML Test Connector (IDP) and click on it.
  4. Copy the ACL URL from Celoxis to the ACS URL and Recipient fields on the Configuration tab.
  5. In the ACS Consumer URL Validator field, escape the ACS URL as mentioned in the OneLogin documentation. In short, you have to prefix the url with ^ put the backslash character (\) before each forward-slash character. e.g. ^https:\/\/app.celoxis.com\/psa\/person.Login.do
  6. Copy the SAML 2.0 Endpoint (HTTP) URL from the SSO tab. This will be set as the IDP URL in Celoxis.
  7. Click on Save.

Common Errors

The response was received at <Celoxis URL> instead of <URL>
The ACS (Consumer) URL Validator is not URL escaped as shown in screenshot above.


How-To

MiscellaneousHow-To

Jira Integration

Open article

In many organizations, Jira is still the key software for developers, while project managers and PMO want to use a project management software and still have visibility into resource workloads.

With this integration, you will be able to automatically create tasks in Celoxis when issues are created in Jira. Also, when issues are updated in Jira, the corresponding tasks in Celoxis will be automatically updated.

Zapier

Celoxis integrates with Jira and many other apps using Zapier. Zapier is a cloud-based service that allows you to build powerful integrations between different systems without writing code. For more information, visit their website: zapier.com.

Zap

An automation in Zapier is called a zap. A zap connections two apps - a trigger app and an action app. The trigger app notifies the zap about an event and the zap then performs an action in the action app. In our case, the trigger app is Jira because it will notify our zap when an issue is created or updated. The action app, in our case, is Celoxis because that is where our zap will create and update tasks. In this guide, we will be building two zaps:

  • Zap #1 — when an issue is created in Jira, create a task in Celoxis.
  • Zap #2 — when an issue is updated in jira, update the corresponding task in Celoxis.

Let's see how Jira, Zapier and Celoxis all fit together:

From the above diagram, you can see that Jira and Celoxis can even be on our intranet provided they have access from the internet. It may be possible to configure internet access only from Zapier.


Zap #1 – New issue in Jira → Create task in Celoxis
  1. Make a Zap
  2. Choose Jira as the Trigger App
  3. Select the "New Issue" jira trigger
  4. Connect with Jira
  5. Enter Jira credentials
  6. Test your newly added connection
  7. You connection is valid
  8. Select a Jira project
  9. Pick a Jira sample
  10. Choose Celoxis as the action app
  11. Select the "Create Task" action
  12. Connect with Celoxis
  13. Enter your connection details
  14. Test the newly added connection
  15. Your connection is valid
  16. Map Jira fields to Task fields
  17. Test this Zap
  18. Turn this Zap on

After you turn the Zap on, if issues are created in Jira in the project you selected, tasks will automatically be created in Celoxis based on the fields mapped above after

depending on your plan with Zapier.

Zap #2 - Issue updated in Jira → Update task in Celoxis
  1. Make a Zap
  2. Select Jira as the trigger app
  3. Select the "Updated Issue" Jira trigger
  4. Select Jira account
  5. Select Jira project
  6. Select Jira sample
  7. Select Celoxis as the action app
  8. Select the "Find Task" action
  9. Select Celoxis account
  10. Use External Key
  11. Test the Find Task action
  12. Select Celoxis action app
  13. Select the "Update Task" action
  14. Select Celoxis account
  15. Map Fields
  16. Test the Zap
  17. Turn the Zap on

Now after an issue has been updated in the project selected in the above Zap, the corresponding task will be updated in Celoxis based on the fields mapped above after

depending on your plan with Zapier.

MiscellaneousHow-To

Quickbooks (QBO) Integration

Open article

Celoxis App for QuickBooks Online helps you to synchronize billable time entries with Celoxis and your QuickBooks Online company. It facilitates quick and accurate Invoice generation. Users can sync all approved and billable time entries from Celoxis to QuickBooks for Invoicing and once they are Invoiced in QuickBooks they can be updated back in Celoxis as Invoiced.

High level Data flow between Celoxis and QuickBooks Online

Data Mapping between Celoxis and QuickBooks Online

The terms used in QuickBooks Online are different than those in Celoxis. For example, a Time Entry in Celoxis is known as Time Activity in QuickBooks Online. The below table explains the field mapping between Celoxis and QuickBooks Online.

Data Mapping between Celoxis and QuickBooks Online
Before Using the App

Celoxis does not create or import supplementary data associated with time entries from QuickBooks Online. Supplementary data includes users, clients and time codes. It is imperative to follow the below steps.

Mapping Users

  • You need ensure all your existing Users in Celoxis exist in QuickBooks Online as Employees.
  • The display name of an employee in QuickBooks Online should be identical to display name of an user in Celoxis.
  • Celoxis performs name based matching between associated entries during sync operation.

Mapping Clients

  • You need ensure all your existing Clients in Celoxis exist in QuickBooks Online as Customers.
  • The display name of a customer in QuickBooks Online should be identical to display name of a client in Celoxis.
  • Celoxis performs name based matching between associated entries during sync operation.

Mapping Time Codes

  • You need ensure all your existing Time Codes in Celoxis exist in QuickBooks Online as Service Items.
  • The display name of the Time Code in QuickBooks Online should be identical to display name of a Service Item in Celoxis.
  • Celoxis performs name based matching between associated entries during sync operation.
Connect Celoxis to QuickBooks Online

Only users with admin privileges can connect to QuickBooks Online. Once the connection is established all users (with Invoice Privilege) can sync time entries between the two systems. Before you connect to QuickBooks Online, please ensure that you have completed all steps listed in the Before Using the App section.

Following steps will guide you to connect the Celoxis App to your QuickBooks Online company:

  1. Go to Administration page.
  2. Under Timesheet section, click on Connect with QuickBooks Online (BETA)
  3. You will get a pop-up to Connect to Quick Books Online. Click on "Connect to QuickBooks" button. This will initiate Intuit's authentication process.
  4. On the next screen, you will be prompted to enter your QuickBooks Online credentials.
  5. Click on the "Authorize" button. By doing this, the admin authorizes QuickBooks Online company to securely share data with Celoxis App for QuickBooks Online.
  6. The pop up automatically closes and your Company Settings page is refreshed. You are now connected to QuickBooks Online.

Access Expiration

Every authenticated connection remains active for 180 days, after which QuickBooks Online automatically expires it for security reasons. Admins are required to Connect to QuickBooks Online again.

If your connection expires, your users will not be able to sync time entries with QuickBooks Online. They will see an authentication failure message. Once the admin reconnects to QuickBooks Online, they will be able to resume normal operation.

Disconnect from QuickBooks Online

At times you may want to explicitly discontinue using QuickBooks Online. Only admins are authorized to disconnect from QuickBooks Online. Once the app is disconnected, users can no longer sync time entries with QuickBooks online and all Celoxis time entries will resume the default Invoicing behavior.

Please refer the following steps to disconnect access from QuickBooks Online company.

  1. Go to Administration page.
  2. Under Timesheet section, click on Disconnect from QuickBooks Online.
  3. You will have to confirm your action by clicking 'Yes'.
  4. The Company Settings page will reload and your connection to QuickBooks Online will be disconnected. You will again see Connect with QuickBooks Online option.
Sync Time Entries

The Celoxis app for QuickBooks Online provides "Sync with QuickBooks Online (BETA)" report which lists all your Celoxis Approved & Billable Time Entries. This is particularly helpful when you want to see details of entries, if they are synced and date when they were synced. You can also apply dynamic filters (Date, Client name and Manager name) to further refine the data in your reports.

Sync with QuickBooks Online report provides two new columns, "QuickBooks Online Id" and "Last synced at" . "QuickBooks Online Id" column displays the time entry's corresponding ID in QuickBooks Online and "Last synced at" column shows the time stamp when the entry was synced. Blank values indicate the entry is yet to be synced with QuickBooks Online company.

Steps to sync time entries
  1. Select the time entries you want to sync.
  2. Click on bulk actions menu icon and select Sync with QuickBooks Online action.
  3. The system will sync the selected time entries and corresponding QBO Ids and Last synced values will be updated.

Sync Rules

Using the 'Sync with QuickBooks Online' action from Sync with QuickBooks Online Report

The below table explains actions performed by the system when sync operation is explicitly performed from the Sync with QuickBooks Online Report

Single/Bulk Actions of Approved & Billable Time Entries (Previously synced with QuickBooks Online)

The below table explains the system behavior for Bulk or Single edit actions performed on previously synced approved & billable time entries. System will dynamically sync the selected time entries.

Special Conditions if Billable flag is "unchecked" on Approved & Billable Time Entries (Previously synced with QuickBooks Online)
Single Edit Screen for Invoiced Time Entries

Once Entries are Invoiced in QuickBooks Online, and synced back into Celoxis, their state will be updated to 'Invoiced'. Such entries will be locked for any further edits (edit or delete) from Celoxis. On the single edit screen, you will have a "Sync" button. This button allows you to update* entries in Celoxis, if they have been altered in QuickBooks Online.

The below table explains actions performed by the system when sync operation is explicitly performed on Invoiced Time entries from the Single edit screen.

Common errors while syncing entries

Below are few errors that you may encounter while syncing time entries with QuickBooks Online.

  1. Error: Employees Missing in QuickBooks Online Reason:This error occurs when the user's name in Celoxis and QuickBooks Online company is not identical or the user is not available QuickBooks Online.
    Solution:
    a. Confirm if user has been set up in QuickBooks Online.
    b. Make sure that the Name in Celoxis matches the Display Name in QuickBooks Online.

  2. Error: Customers Missing in QuickBooks Online Reason:This error occurs when the client's name in Celoxis and QuickBooks Online is not identical or the client is not available in QuickBooks Online.
    Solution:
    a. Confirm if client has been set up in QBO.
    b. Make sure that the Name in Celoxis matches the Display Name in QuickBooks Online.

  3. Error: Time codes Missing in QuickBooks Online Reason:This error occurs when the time code's name in Celoxis and QuickBooks Online is not identical or the time code (service item) is not available in QuickBooks Online.
    Solution:
    a. Confirm if the service item has been set up in QBO.
    b. Make sure that their names are identical.

  4. Error: ERROR CODE:3200, ERROR MESSAGE:message=ApplicationAuthenticationFailed; errorCode=003200; statusCode=401, ERROR DETAIL:null Reason:This error occurs typically when your access token has expired.
    Solution:
    a. Please ask your admin to connect to QuickBooks Online from the Company Settings page in Celoxis.

  5. Error: Feature Not Supported Reason:This error occurs when you connect to a QuickBooks Online Edition that does not support Time Entries
    Solution:
    a. You need upgrade your current version of QuickBooks Online to a version which supports Time Entries.
Switching to QuickBooks Online

If you are an existing Celoxis user and have been Invoicing Time entries in Celoxis, please take note of the following:

  1. Agree at an organization level on the date on which you would switch to invoicing with QuickBooks Online. This is important because once you connect to QuickBooks Online, your users cannot explicitly Invoice time entries (i.e. using the 'Invoice' action) in Celoxis.
  2. All Previously Invoiced time entries will continue to exist as is. They will not be automatically synced with QuickBooks Online. These entries will continue the default Invoicing behavior till the time they are explicitly “UnInvoiced” by a privileged user. Once “UnInvoiced” they can be synced with QuickBooks Online.

Please a note the behavior of the system when you switch to QuickBooks Online, i.e. using “Connect to QuickBooks” on Company Settings page.

Existing Invoiced entries will continue to function as-is, i.e. they can be UnInvoiced/Deleted/Edited as before. Once “UnInvoiced”, they can only be Invoiced through QuickBooks Online using the sync functionality.

MiscellaneousHow-To

Salesforce Integration

Open article

Celoxis Salesforce app helps bridge the gap between your sales and delivery teams, thereby improving business outcomes. This app is freely available on Salesforce.com AppExchange

This App allows sales representatives to create multiple Celoxis project per Salesforce.com opportunity. In addition, there is a ‘Celoxis Projects’ Tab, which lists all Celoxis projects created across all opportunities for quick and aggregate viewing at account/client level. This app can be used across all Salesforce.com editions.

How it works

After you install and configure the Celoxis app in Salesforce successfully,

  • In Salesforce, you will see a widget where for every opportunity, you can create a new project or see the project itself (after creation). You can see the details of the project right from this widget. The first time, in the widget, you are asked to authorize by entering your Celoxis credentials.
  • In Celoxis, a new custom field called SF Opportunity ID is created and attached to projects. This is unique ID for every project created from Salesforce.

The project is created only when you explictly create one; no automatic data transfer or sync happens in the integration.

Installing Celoxis App in Salesforce

Installing the Celoxis App for Salesforce is a one-time activity that needs to be done by the admin or developer of Salesforce.

  1. Go to the AppExchange and search for Celoxis App.
  2. Click on the Get it Now button.
  3. You will be prompted to login to the AppExchange.
  4. On the Confirm Installation Details page, check the box for agreeing with the T&C and then click on Confirm and Install.
  5. On the new page, select option Install for All Users. This option is only visible for Enterprise and higher editions.
  6. Click on Install.
  7. There is no progress bar when the app is being installed. You will see the below screen when the installation is complete.
  8. You will also see the Celoxis App listed under the Installed Packages:

Congratulations! You have successfully installed the Celoxis Salesforce App. Lets move on to configuring this app for the Sales team to use.

Common Issues

Following are the common errors/issues you might encounter when installing the Celoxis App:

  1. Error: Package install error. There are problems that prevent this package from being installed.
    Reason: You might already have an instance of the Celoxis app installed in Salesforce.
  2. Error: Package Install Error. There are problems that prevent this package from being installed. Missing feature: Apex Classes
    Reason: Celoxis Salesforce App uses Apex classes, which are not supported on 30 day trials. Please purchase your Salesforce.com edition before you can install the app. Alternately, you can install the app in a free Developer Edition trial account to get a test drive.
Configuring Celoxis app for Salesforce

The Celoxis Salesforce App needs to be configured before you can start creating project from Salesforce. The following steps will guide you with the same:

Configuring the App:

  1. Once the Installation is complete, click on the Configure button
    OR
    Go to the Setup page, by clicking on the Setup menu.
    On your left-side, under the Build section, click on Installed Packages.
  2. For the Celoxis App, click on Configure.
  3. In the new-pop-up window, under Url, enter the URL of your application. In case of SaaS customers, the Url will be populated with https://app.celoxis.com/psa/force.do If you are an SaaS user, you do not have to change anything here.
    On-Premise customers need to enter URL as https://servername:portnumber/psa/force.do
  4. Under the Project Templates, enter a term which will be used to search for projects in Celoxis and only matching projects will be shown in the list for creating a project. This field is optional; not speciying anything will show the entire list of projects.
  5. Click on Save and close the pop-up window.
  6. ONLY FOR ENTERPRISE AND HIGHER VERSIONS:
    Salesforce editions that support Profiles are recommended to manage their user profiles to set who can access the Celoxis app. For this, you need to set the profiles and users so that the users can access the app.
  7. You can also edit OR create a new profile which can access the Celoxis App.
    1. Go to the Setup page, by clicking on the Setup menu.
    2. On your left-side, under the Administer section, click on Manage Users and then Profiles.
    3. You can edit an existing profile and let this profile access Celoxis app.
      OR
    4. Create a new profile which can access the Celoxis app. Ensure that when creating the profile, under Connected App Access, you you checked the Celoxis App.
  8. You need to now add new users or edit existing Users to use this profile.
    1. Go to the Setup page, by clicking on the Setup menu.
    2. On your left-side, under the Administer section, click on Manage Users and then Users.
    3. You can edit and existing user to use the profile you created or edited to use Celoxis App. Create new user and select the profile created for or edited to use Celoxis App.

Customizing the Opportunity layout

You now need to configure your Opportunity page layout to start using the Celoxis App.

  1. Go to the Setup page, by clicking on the Setup menu.
  2. On your left-side, under the Build click on Customize > Opportunities > Page Layouts.
    This takes you to the list of your Opportunity page layouts.
    In Group and Professional editions, you need to click on Page Layout.
  3. Create a new layout (recommended for Salesforce edition supporting multiple layouts)
    1. Select an existing layout from the drop-down for Existing Page Layout.
    2. Give the new layout a suitable name for Page Layout Name such that it is easy to distinguish.
    3. Click on Save.
    4. Now, you need to edit the new layout OR for the existing layout, click on VisualForce Pages and from the adjacent section drag-drop the Section to the location you desire below.
    5. After you drag the section: Give the section a suitable name say "Celoxis Projects". Under Layout, select 1-Column Click on OK.
    6. Now, drag the Celoxis Project, in the "Celoxis Project" section.
  4. Edit the Celoxis Project you just dropped and set the Height (in pixels) to 600.
  5. Check the Show scrollbars box.
  6. Click on Save.
  7. Now, on the Opportunity Page Layout page, click on Page Layout Assignment. This step is valid for Salesforce editions at support multiple layouts i.e Enterprise and higher.
  8. Click on Edit Assignment.
  9. Select the profiles for which you want to assign the page layout.
  10. Under the Page Layout To Use drop-down, select the layout you just created.
  11. Click on Save.

You have now configured the Celoxis Salesforce App. Lets look at using it for creating project.

Common issues while configuring

Following are the general error you will observer if you have missed a step:

  1. Error: Load unsafe content or Please reload your browser message (even after refreshing browser window)
    Reason: Occasionally your Celoxis configuration URL may not have 'https' that may cause this issue. Please verify that your configuration URL has 'https://'. Login in as administrator into your Salesforce.com account.
    Go to Setup > Installed Package. Click on 'Configure' link next to "Celoxis". In the URL field, change the http to https. Save changes. Now try accessing your Salesforce Opportunity page.
  2. Error: Oops, there was an error rendering Force.com Canvas application [CeloxisApp]. You don't have permissions to view application with namespace [celoxis] and API name [CeloxisApp]. Click to configure.
    Solution: When accessing an Opportunity, in the Celoxis section you see this. To resolve
    1. Go to Administration Setup > Manage Apps > Connected Apps > Click on the Celoxis App.
    2. On the new page, scroll down to the Profiles section and click on Manage Profiles button.
    3. Select the profiles you want to enable access for Celoxis app and click on Save. You should now see the Celoxis section.
  3. Issue: You see the Celoxis section on the opportunity page, but its grayed out.
    Solution: You need to increase the Height in Pixels of the Celoxis section to min 600 on the opportunity layout page.
  4. Error: SSL protocol error on app layout page in the Celoxis layout.
    Solution: When configuring Celoxis app, check that the Celoxis URL is entered correctly with the correct protocol (use: https://) and correct portnumber.
  5. Issue: The section to create project in Celoxis is not visible on the Opportunity page.
    Solution: The Opportunity layout page either not configured correctly OR the user's profile is not selected for the layout created for Celoxis (For enterprise and higher editions).
  6. Issue: The Celoxis Salesforce App might not be visible properly using an IE browser.
    Solution: It is recommended to use one of the supported versions of IE and set the options mentioned in the link.
Working with Celoxis App for Salesforce

Once you have installed and configured the Celoxis Salesforce app, you can then create a project in Celoxis via the Opportunities module in Salesforce. Lets look at how:

  1. Click on an existing Opportunity or Create a new one by clicking on New.
  2. Go to an existing Opportunity page or add a new opportunity. For this app, if the OAuth policies is set to All users may self-authorize, you will see a pop-up window as below. Click on Allow to authorize yourself.
  3. After you click Allow, you will see the Celoxis login page in the Celoxis Project section.
  4. Upon logging in with the Celoxis credentials, you will see a message "You do not have a project. Click here to create a project for this opp."
  5. Click on the Click here link to create a project for this opportunity.
  6. You can select the Project Template from the available list.
  7. The Client drop-down will be automatically populated with the client (Account Name in Salesforce) if the client already exists in Celoxis.
    Else, you are shown the option to create the client in Celoxis.
  8. Click on Next.
  9. On the Clone Project pop-up, Enter a new name or it will be auto-populated with opportunity name as entered in Salesforce.
  10. Select the Manager, Start Date, and the Phase of the project as required.
  11. On the same pop-up, under the Custom Fields tab, a custom field: SF Opportunity Id is shown which has the same ID of the opportunity in Salesforce. This helps in mapping.
  12. Click on Clone.
  13. A new project is created in Celoxis and the details page of the project is displayed.

Reports

You can customize your view to see the projects you have created in Celoxis via Salesforce by clicking on the '+' sign and then click on Customize My Tabs.

By default, the projects where you are the creator will be shown in the report. The Name of the project is clickable. You can use the browser back button to go to the original report if you navigate to any project.

Uninstalling the app

Before you proceed with the actual uninstall steps, you need to first delete the references made to the Salesforce Opportunity page layout.

To remove the page layout reference:

  1. Go to the Setup page, by clicking on the Setup menu.
  2. On your left-side, under the Build section, expand the Customize option.
  3. Under this option, expand the Opportunities option and then click on Page Layouts. In Group and Professional editions, you need to click on Page Layout.
  4. Now, on the Opportunity Page Layout, click on the Edit link and remove the section you have added for Celoxis Projects.

Once, this is done, you can proceed with the actual uninstallation steps.

  1. Go to the Setup page, by clicking on the Setup menu.
  2. On your left-side, under the Build section, click on Installed Packages.
  3. Click on Uninstall link besides the Celoxis app.
  4. On the Uninstalling a Package page, scroll to the bottom and
    1. Select Do not save a copy of this package's data after uninstall. Click on the Ok button displayed on the message box.
    2. Check the option Yes, I want to uninstall this package and permanently delete all associated components.
    3. Click on Uninstall button.

The Celoxis app will be deleted from your Salesforce account.

Back to contents

On-Premise

23 articles

Concepts

On-PremiseConcepts

Network Diagram

Open article

The following diagram shows how Celoxis fits in to your intranet.

A few things to note: Uploaded files are stored on the disk and not in the database. Database server and email server can be on the same machine or on a different machine. If configured correctly, Celoxis can be accessed from your intranet as well as the Internet. To stop access to Celoxis from the Internet, configure your firewall appropriately.

Actions

On-PremiseActions

Setting up your Database

Open article

Celoxis requires a database to store data. The database must be configured before you start the installation process. Sample instructions for each software is given below. Instructions are based on the default settings and often vary from version to version and from platform to platform. It is not feasible for us to cover all cases so please consult your database administrator for any setup, security or performance questions. Creating and configuring databases is beyong the scope of our support services.

In a nutshell, Celoxis needs a database instance and a privileged database user account that create, query, modify, and delete tables, indices, contraints, etc. and their definitions. We recommend that you do not share the database instance and this database with any other application.

PostgreSQL

  1. Allow Postgresql to accept TCP/IP connections:
    1. Open postgresql.conf. On Linux, you can find it most likely in /var/lib/pgsql/data while on Microsoft Windows, it is easily accessible from pgAdminFilepostgresql.conf.
    2. Uncomment the line (if not already) listen_addresses = '*' i.e. it should not have # as the prefix.
    3. Save the file and exit.
  2. Allow connections from your local network:
    1. Open pg_hba.conf On Linux, you can find it most likely in /var/lib/pgsql/data while on Microsoft Windows, it is easily accessible from pgAdminFilepg_hba.conf.
    2. Assuming your network address is 192.168.0.0 and network mask is 255.255.255.0, add the following lines to that file. If Celoxis will be running on the same server as your Postgresql server, then you only need the first line below. local all all trust host all all 127.0.0.1 255.255.255.255 trust host all all 192.168.0.0 255.255.255.0 trust
    3. Save the file and exit.
    4. Restart Postgresql. (On Linux, run: sudo service postgresql restart, while on Microsoft Windows choose Stop service and then Start service from All Programs > Postgresql
  3. Create a database user with name celoxis with a password. Note this down, you will be asked for this during installation.

    Linux

    Use the createuser command as shown below:

    $ createuser celoxis
    Shall the new role be a superuser? (y/n) n
    Shall the new role be allowed to create databases? (y/n) y
    CREATE ROLE
    $

    Windows

    1. Open pgAdmin program.
    2. Open the appropriate server node for this database.
    3. Right click Login Roles and choose New Login Role...
    4. Enter celoxis as the name and optionally enter a password. Ensure that Account expires is empty.
    5. Select the Can create database objects option from Role Privileges.
    6. Click OK.
  4. Create a database with UNICODE character encoding with celoxis as its owner. The database name should be the same as specified in your license request.

    Linux

    Use the createdb command as shown below:

    $ createdb -E UNICODE -U celoxis celoxis
    CREATE DATABASE
    $

    Windows

    1. Open pgAdmin program.
    2. Open the appropriate server node for this database.
    3. Right click on the Databases node and choose New Database...
    4. Enter the correct database name, pick celoxis as the owner and choose UTF-8 as the encoding.
    5. Click OK.

MS SQL Server

To create a database and a database user, you need to login as sa (the database administrator user).

Enable TCP/IP

  1. Go to Microsoft SQL Server from your Start programs menu and open Configuration Tools > SQL Server Configuration Manager.
  2. Select the node SQL Server Network Configuration > Protocols for MSSQLSERVER
  3. Right-click on the TCP/IP node and select Enable
  4. Restart the SQL Server service (Right click on SQL Server from the SQL Server Services and click Restart)

Create a database

  1. Open the SQL Server Management Studio.
  2. Right click the Database node and click New Database...
  3. Enter the same database name as specified in your license request.
  4. Select celoxis as the owner.
  5. Choose SQL_Latin1_General_CP1_CI_AS as the Collation (available from the Options page on the left)
  6. Click OK.

Create a database user

  1. Right click on the Security node of the database created and click New > Login.
  2. Enter login name as celoxias.
  3. Choose SQL server authentication. Windows authentication will not work.
  4. Enter a password. Note the user name and password down as you will be asked for this later during installation.
  5. Uncheck the Enforce password policy.
  6. Click OK.

Oracle

  • Create a database with UTF8 character encoding. The database name should be the same as specified in your license request.
  • Create a database user. Grant this user all permissions on the database. Also, give this user unlimited quota for tablespace users.

On-PremiseActions

Configuring Site Settings

Open article

Navigate to AdministrationSite Settings and click on Edit Settings under Actions. This will open up a form with multiple tabs. Interesting settings on each tab is described below under the corresponding tab.

Basic

Celoxis URLThis is the URL that will be used to access Celoxis.
Data Directory PathThe path to the directory that stores uploaded files, search indices and other control files.
Max size of file uploadThe maximum size of a file that can be uploaded.
Google Client IdIf you want to integrate with Google Drive, you will need to enter your ID here. Read this chapter on how to obtain one.

Outgoing Mail

Please contact your system administrator for correct values. Also, read this chapter on how to troubleshoot issues with your email server.

Send emails in backgroundIf checked, users don't have to wait for the emails to be sent to complete the operation. This considerably speed things up. The cost, however, is that if the email sending fails for some reason, the user performing the operation is not notified of the failure. If your email server is unreliable, then instead of turning this option on, consider using Gmail.
HostThe host name of the SMTP server.
Default Sender Name/EmailEmails sent from Celoxis will have the sender name/email to these values.

Incoming Mail

Please contact your system administrator for correct values. Also, read this chapter on how to troubleshoot issues with your email server.

ProtocolWe strongly recommend using either IMAP or IMAP+SSL.
HostThe host name of the IMAP or POP3 server.
Plussed SymbolThe sub-addressing symbol recognized by your SMTP server. For example, sending an email to celoxis+foobar@gmail.com caused the email to be delivered to celoxis@gmail.com. Celoxis can then read the foobar and perform actions based on this control information.

For Sendmail, Gmail or Postfix use +. For Qmail use -. For Microsoft Exchange do not choose plussed addressing, in which case the control information will be appended to the subject of emails to enable routing.

Plussed addressing is very effective. If your email server does not support this, then instead of not using plussed addressing, consider using Gmail.

LDAP

Is Microsoft ADSWhether you are using Microsoft Active Directory Service
Authenticate clients via LDAPIf checked, client accounts are also authenticated via LDAP, else they will be authenticated based on credentials entered in Celoxis.
LDAP URLYour LDAP URL e.g. ldap://lap.acme.com:389
Base DNThe node of the LDAP server from where Celoxis will search the users.
Search AttributeThe attribute in the LDAP user entry that holds the user's login name. In ADS, this is always sAMAccountName. This value must match against the login name for that user in Celoxis.
Admin DNIf Celoxis needs to authenticate with your LDAP server to search for users, then enter that user's login name for your LDAP server.
Admin PasswordThe Admin Password
Principal PatternIf Celoxis can directly authenticate the user against your LDAP server using a pattern, then enter that pattern here. {username} will be replaced with the login name. (Not applicable, if using Microsoft Active Directory.)

Email Aliases

Read this section for more information.

Limits

We strongly recommend that you do not change these values. These values are reasonable and changing these may affect performance. Optimizing these values for your installation is beyond the scope of our support services.

Max rows from databaseThe maximum number of rows to fetch from a query while running a report.

On-PremiseActions

Stopping and Starting Celoxis

Open article

Starting Celoxis

Windows

  1. Open Windows Explorer
  2. Go to the directory <Celoxis-Install-Dir>/psa_11.1.x/bin
  3. Double click the startup.bat. A command window should pop-up and remain open. If it does not stay open, then it means that your JAVA_HOME is not correctly set and must be remedied.

Linux

  1. Open Terminal
  2. cd to <Celoxis-Install-Dir>/psa_11.1.x/bin
  3. Run startup.sh

Stopping Celoxis

Windows

  1. Open Windows Explorer
  2. Go to the directory <Celoxis-Install-Dir>/psa_11.1.x/bin
  3. Double click the shutdown.bat.

Linux

  1. Open Terminal
  2. cd to <Celoxis-Install-Dir>/psa_11.1.x/bin
  3. Run shutdown.sh

Restarting Celoxis

First stop and then start Celoxis as described above.

On-PremiseActions

Increasing Memory for Performance

Open article

Celoxis is configured to use a maximum of 2GB of memory. While this is enough for most cases, you can increase this if you have a large installation. We recommend that the memory you allocate to Celoxis not exceed half of your installed RAM. For example, if you have 8GB of RAM, you should not allocate more than 4GB of RAM to Celoxis. This is assuming the machine is dedicated to running Celoxis, if you run other programs on the same machine, the number would be less.

  1. Stop Celoxis.
  2. Increase the memory as described below
  3. Start Celoxis.

We shall now see how to increase the memory allocated to Celoxis to 4GB (i.e. 4096 MB)

Windows

If Celoxis is installed as Windows Service

  1. Navigate to <Celoxis-Install-Dir>/psa_11.1.x/bin and run celoxisw.exe.
  2. Click on the Java tab.
  3. Enter 4096 in the Maximum memory pool field.
  4. Click OK.

If Celoxis not installed as a Windows Service

  1. Right click My Computer.
  2. Click Properties.
  3. Click the Advanced tab (or click Advanced system settings in Windows Vista).
  4. Click the Environment Variables button
  5. Under Systemvariables, click New.
  6. Set variable name to CATALINA_OPTS and variable value to -Xms512M -Xmx4096M
  7. Click OK.
  8. Click OK on the Advanced tab to close the window.

Linux

  1. Open a terminal and login as the user that starts Celoxis.
  2. Add: export CATALINA_OPTS=-Xms512M -Xmx4096M to the user's startup file (e.g. .profile)
  3. Save the file.
  4. Logout and Login again.

On-PremiseActions

Installing Celoxis as a Service

Open article

Setting up a service for Celoxis will help you automaticaly start the application after a server reboot. You won't have to run the startup script every time.

Windows

To Install

Before you install Celoxis as a service, ensure that the application has been installed successfully.

In Windows Explorer, go to <Celoxis-Install-Dir>/psa_x.y.z/bin, right click on celoxis-service-install and click Run as Administrator.

To Uninstall

In Windows Explorer, go to <<Celoxis-Install-Dir>>/psa_x.y.z/bin, right click on celoxis-service-uninstall and click Run as Administrator.

Linux

In /etc/rc.local (or the file in your Linux flavor that get's executed at startup), write the following:

sudo -i celoxis -c /usr/local/celoxis/psa_11.1.x/bin/startup.sh

On-PremiseActions

Getting your Google Client ID

Open article

If you wish to upload files from your Google Drive account, you will first need to get a Client ID from Google and enter that into Celoxis. To get your client ID:

  1. Go to Google Developers Console
  2. Create a new project and name it Celoxis
  3. Click: Create credentials > OAuth client ID
  4. You will be first asked to configure your consent screen. On the configure consent screen, enter Product name as Celoxis
  5. Enter any other details, you wish and save.
  6. You will be taken to the Create OAuth client ID screen.
  7. Choose client as Web application
  8. Enter name as Celoxis
  9. Click OK
  10. You will be shown the Google Client ID
  11. Enter this value in the Site Settings and Save
  12. restart.

Celoxis is now integrated with Google Drive. Try uploading a file from your Google Drive account into a task.

On-PremiseActions

Requesting for a New License

Open article

Celoxis license file is tied to your hardware ID, more specifically, the network adapter ID which is usually integrated with the machine motherboard. If you change your machine, or in case your motherboard or network card fails, you will need a new license from us.

Requesting a new license

To request a new license, go to https://www.celoxis.com/license.

Applying the new license file

You will receive a license.zip file from us. Unzipping it will yeild a license.properties file. To apply the new license file:

  1. Stop Celoxis.
  2. Copy the license.properties file to <Celoxis-Install-Dir>/psa_11.1.x/webapps/psa/WEB-INF/conf directory.
  3. Start Celoxis.

On-PremiseActions

Downloading the Debug Bundle

Open article

Debug bundle is a ZIP file containing your log files and configuration files. It helps our engineers and results in a speedy resolution.

If Celoxis is running

To send us the debug bundle:

  1. Stop Celoxis.x
  2. Go to <Celoxis-Install-Dir>/psa_11.1.x/webapps/psa/WEB-INF/logs directory and delete all files.
  3. Start Celoxis.
  4. Follow the steps that causes the error.
  5. Log in as a user having administrator privileges.
  6. Navigate to AdministrationSite Settings.
  7. Click on Download Debug Bundle.
  8. You will be prompted to save a ZIP file. Save it on your computer.
  9. Attach the file to your support ticket.

If Celoxis is not running

  1. Go to the <Celoxis-Install-Dir>/psa_11.1.x/webapps/psa/WEB-INF directory.
  2. Zip the entire logs directory and send it to us.

On-PremiseActions

Viewing the Site Admin Password

Open article

Site administrator password is different than an administrator password. You are required to enter the site administrator password when accessing AdministrationSite Settings. To view or change this password:

  1. Go to the <Celoxis-Install-Dir>/psa_11.1.x/webapps/psa/WEB-INF/conf directory.
  2. Open the site.properties file in Notepad (or any text editor).
  3. You should see the password in plaintext. E.g. if you see password=foobar1, the password is foobar1.
  4. To reset the password, change the password and restart the application.

On-PremiseActions

Resetting an Admin Password

Open article

Administrators can reset passwords of other users (admins as well as non-admins). However, there are cases, when you would want to quickly reset a password from the back-door.

  1. Find the ID of the person whose password you want to reset. Let's say that person's email address is joe@acme.com. To do that run the SQL: select id,name from db_person where email = 'joe@acme.com'
  2. You should see only ONE record in the result. Note down the ID; we shall be using it in the next step. Let's say it is 123456.
  3. Run the SQL: update db_person set password_hash='Y2Vsb3hpczE=' where id=123456.
  4. The password of the user has now been changed to celoxis1
  5. Ask that person to change this password after logging in.

On-PremiseActions

Accessing Celoxis using SSL

Open article

For the purpose of this article, let's assume that Celoxis has been installed on a Linux server at /usr/local/celoxis and is accessed as http://celoxis.acme.com:8888

Default SSL

Celoxis comes with a self-signed SSL certificate and accessible on port 8843 as https://celoxis.acme.com:8843. Accessing websites that serve self-signed SSL certificates gets a warning in Chrome and other browsers saying that the site is not secure. You can install a certificate from a know provider like Verisign, Thawte, RapidSSL, etc. to overcome this issue.

Installing your own SSL Certificate

Each provider comes with their own instructions. However, we are going to look at the most common scenario.

Stop Celoxis

Stop Celoxis as we are going to overwrite a file.

Go to the <Celoxis-Install-Dir>
$ cd /usr/local/celoxis
Generate a Key Pair

Give the password as celoxis. The reason will be evident at the end of the chapter. Instead of celoxis.acme.com, you would put in your own hostname.

$ keytool -genkey -alias celoxis -keyalg RSA -keystore celoxis.jks
Enter keystore password:  
Re-enter new password: 
What is your first and last name?
  [Unknown]:  celoxis.acme.com
What is the name of your organizational unit?
  [Unknown]:  
What is the name of your organization?
  [Unknown]:  Acme
What is the name of your City or Locality?
  [Unknown]:  Santa Clara
What is the name of your State or Province?
  [Unknown]:  CA
What is the two-letter country code for this unit?
  [Unknown]:  US
Is CN=celoxis.acme.com, OU=Unknown, O=Acme, L=Santa Clara, ST=CA, C=US correct?
  [no]:  yes

Enter key password for 
    (RETURN if same as keystore password):  
$
Generate a Certificate Request (CSR)

We will be generating the CSR in a file certreq.csr.

$ keytool -certreq -keyalg RSA -alias celoxis -file certreq.csr -keystore celoxis.jks
Enter keystore password:  
$
List the files

We have the two expected files.

$ ls
celoxis.jks certreq.csr
$
Get the SSL certificate

You would now go to one of the SSL certificate issuers like Verisign, RapidSSL, GeoTrust, etc. and use the certreq.csr file to request and SSL certificate. They will ensure that you are owner of the domain you requested for and issue you a certificate.

You would get two files in PEM format. One will be your certificate and the other your chain to the CA certificate.

Let's assume that the chain is available in the file chain.crt and your certificate in certificate.crt.

Copy these two files to <Celoxis-Install-Dir>.

Import the two files into our keystore
$ keytool -import -trustcacerts -alias intermediate -file chain.crt -keystore celoxis.jks
Enter keystore password:  
$
keytool -import -trustcacerts -alias celoxis -file certificate.crt -keystore celoxis.jks
Enter keystore password:  
$

Our keystore is now ready!

Overwrite Celoxis's keystore with our keystore
$ cp celoxis.jks /usr/local/celoxis/psa_11.1.x/.keystore
$
Change 8843 to 443 (the default SSL port)

Open <Celoxis-Install-Dir>/psa_11.1.x/conf/server.xml and change the port number as shown from the left to the right.

<Connector port="8843"
...
   scheme="https"
   secure="true"
   keystoreFile=".keystore"
   keystorePass="celoxis"
...
/>
<Connector port="443"
...
   scheme="https"
   secure="true"
   keystoreFile=".keystore"
   keystorePass="celoxis"
...
/>
Start Celoxis

Start Celoxis and point your browser to https://celoxis.acme.com. You should be taken to the Celoxis login screen.

How-To

On-PremiseHow-To

Installing 11.1

Open article

Celoxis is a powerful application, yet easy to install and configure if you follow the steps given below. Not following the instructions can lead to a lot of wasted hours. If you do not follow something, contact us and we will help you out.

Preparing for Installation

  1. Your database server must be up and running and you must have created a database and a database user for Celoxis. If not, first do that as described in the chapter on database setup. Keep your database information ready: database name, login, password. You will be asked to input these during the installation process.
  2. Create an email account for Celoxis in your email server. Celoxis should be able to read email via IMAP and also send email using this account. Think of Celoxis as a regular user in your system. Note down the username and password. This will be used in installation. If your email server is unreliable or does not support plussed addressing, consider using Gmail.
  3. Decide how your users would want to access Celoxis. For example, if your domain is acme.com, you can have celoxis.acme.com, projects.acme.com, pm.acme.com, etc. Before you begin installation, ensure that your DNS server has been updated with this hostname and is working fine by using the ping command.
  4. Download and install JDK 8 from Oracle's Java download center. If your operating system is 64 bit, then you must install the 64 bit version, else you must install the 32 bit version. Also, you must install the JDK, not JRE.

    Configure JAVA_HOME environment variable

    Celoxis uses Java and for it to work correctly, the JAVA_HOME environment variable must be correctly set.

    Windows

    1. Right click My Computer.
    2. Click Properties.
    3. Click the Advanced tab (or click Advanced system settings in Windows Vista.)
    4. Click the Environment Variables.
    5. Under System variables, click New.
    6. Set Variable name to JAVA_HOME and Variable value to the path of JDK e.g. C:\Program Files\Java\jdk1.8.0_05
    7. Click OK.
    8. Click OK on the Advanced tab to close the window.

    Verify JAVA_HOME is correctly set

    Open a command prompt and type java -version. You should see something like:

    C:\>java -version
    java version "1.8.0_05"
    Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
    C:\>

    Linux

    1. Open a terminal and login as the user on whose behalf Celoxis application will be started.
    2. In the appropriate profile file depending on the shell you use (e.g. .bash_profile or .profile for bash), type: export JAVA_HOME=/usr/java/jdk1.8.0_05 replacing the path with the correct directory in which Java 8 was installed.
    3. Save the file.
    4. Logout and Login again.

    Verify JAVA_HOME is correctly set

    Open a shell and type $JAVA_HOME/bin/java -version. You should see something like:

    $ $JAVA_HOME/bin/java -version
    java version "1.8.0_05"
    Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
    $
  5. Create a directory for installation of the application and uploaded files. On Windows, we recommend: C:\celoxis, while on Linux, we recommend: /usr/local/celoxis. Avoid creating a directory with name having the space character. The directory should have at least 10GB + size of uploaded files you will upload into Celoxis.
  6. Download the installation zip file (link will be sent to you via email) and copy it to the directory created above.
  7. Unzip it. Your installation directory should contain something like:
    psa_11.1.0/
    ├── LICENSE
    ├── NOTICE
    ├── bin/
    ├── conf/
    ├── lib/
    └── webapps/
  8. You should have received a license.properties file in an email from us that contains your license information. Keep this file ready. You will be asked to upload this file during the installation process.

Before you proceed

Before you proceed, keep the following handy:

  • The license.properties file sent by our support team.
  • The database user and password.
  • A host name which your users will use to access Celoxis e.g. celoxis.acme.com
  • A location for the data directory. This is the directory that will store files, search indices and other files. At least 10 GB should be free. Also, this directory should not exist. We recommend that you store it as a subdirectory of the installation directory and name it data. So if you have installed celoxis in D:\celoxis, then the data directory should be D:\celoxis\data.

Start Celoxis

Windows

  1. Open a command prompt
  2. Type %JAVA_HOME%\java -version.
  3. You should see something like:
    C:\> %JAVA_HOME%\java -version
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
  4. Go to the Celoxis installation directory – cd C:\celoxis
  5. Run the startup.bat file – psa_11.1.x\bin\startup.bat

Linux

  1. Open Terminal
  2. Type $JAVA_HOME/java -version.
  3. You should see something like:
    $ $JAVA_HOME/java -version
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
  4. Go to the Celoxis installation directory – cd /usr/local/celoxis
  5. Run the startup.sh file – psa_11.1.x/bin/startup.sh

Install Celoxis

  1. Open http://your-server-name:8888/ in browser.
  2. Click on the Install button.
  3. Read the EULA and click Agree if you agree to the terms.
  4. Choose a site admin password between 8 to 10 characters.
  5. Upload the license.properties file sent by us.
  6. You will be shown the license details. Verify its correctness.
  7. Choose your database and enter the database username and password.
  8. Enter the data directory path. Double check that it does not exist.
  9. Press OK.
  10. On the "Add Company" form, add your details. We recommend that your Company code be the second level domain i.e. if your domain name is acme.com, then enter acme here. Enter the Celoxis URL to be http://your-server-name:8888.
  11. You should be taken to a sample Dashboard
  12. You can now move on to the site settings chapter to configure some advanced settings.

On-PremiseHow-To

Upgrading from 11.0 to 11.1

Open article

Download Celoxis v11.1

You can get the download link from our support team.

Backup your current installation

Backup your existing database and data directory. If the upgrade fails for any reason, the backup of your database and data directory will have to be restored.

To find your install directory, database and data directory, navigate to AdministrationSite Settings and check the Server Information as shown below:

Stop the current version

  1. Stop Celoxis.
  2. If you have installed Celoxis as a Windows Service, uninstall it.

Start the upgrade

  1. Copy the downloaded psa_11.1.x.zip file into <Celoxis-Install-Dir>.
  2. Unzip the psa_11.1.x.zip file.
  3. You should now have a psa_11.1.x directory inside <Celoxis-Install-Dir>.
  4. Open a command prompt (terminal on Linux).
  5. cd<Celoxis-Install-Dir> and then to psa_11.1.x.
  6. Type: bin\startup.bat (bin/startup.sh on Linux).
  7. Open http://<your-server-name>:8888/ in your browser.
  8. Choose the Upgrade option and follow the instructions to complete the upgrade.
  9. If you had installed Celoxis as a Windows Service, reinstall it.

On-PremiseHow-To

Upgrading from 11.1.X to 11.1.Y

Open article
  1. Stop Celoxis.
  2. If you have installed Celoxis as a Windows Service, uninstall it.
  3. Browse (or 'cd' on Linux) to the <Celoxis-Install-Dir>.
  4. Rename 11.1.x folder to 11.1.x.old
  5. Download the new 11.1.y.zip and copy it to <Celoxis-Install-Dir>
  6. Unzip
  7. Now you should have two folders 11.1.y and 11.1.x.old in <Celoxis-Install-Dir>
  8. Copy the files: db.properties, site.properties & license.properties from 11.1.x.old/webapps/psa/WEB-INF/conf to 11.1.y/webapps/psa/WEB-INF/conf
  9. Start Celoxis.
  10. Once you see that everything is working fine, delete 11.1.x.old
  11. If you had installed Celoxis as a Windows Service, reinstall it.

On-PremiseHow-To

Maintaining Celoxis

Open article

Celoxis is easy to maintain. The most important part of maintenance is regularly backing up the database and the data directory.

Backup Database and Data Directory

The database and the data directory should be backed-up regularly to different machines than the one on which they reside. We highly recommend that you use the backup solutions you currently use to perform the backups. It is very important to check periodically that the backups are actually working. This is a common issue that we have encountered.

If you do not have any tools, you can use a combination of cron, pg_dump and rsync programs on Linux, while on Windows you can use a combination of Scheduled Task, robocopy to backup the data directory while you can use pg_dump for PostgreSQL and Maintenance plan for Microsoft SQL Server to create database backups.

Database Tips

PostgreSQL

You can optimize performance by tuning the shared_buffers, work_mem and maintenance_work_mem parameters in the postgresql.conf file.

Microsoft SQL Server

A SQL maintenance plan for rebuilding indexes and setting the index free space percentage to 10% within the Celoxis database should be scheduled to run monthly (preferably weekly). This maintenance plan should also be configured to update column statistics (index statistics are updated during the index rebuild process). We recommended that this plan be scheduled to run at a time when database utilization by the Celoxis application is at its lowest. This could be on a Sunday during the day or a during a scheduled maintenance cycle, etc.

Rebuilding the Search Index

Celoxis maintains a search index for advanced searching capabilities. Sometimes, it could happen that the search index is corrupted. To fix:

  1. Login as site administrator by going to AdministrationSite Setiings.
  2. Click Run admin program under Actions.
  3. Enter com.celoxis.psa.base.search.Reindexer in the Class Name field and submit.

After a few minutes (less than 30), your search index will be updated.

On-PremiseHow-To

Troubleshooting Database

Open article

Celoxis uses standard JDBC connections to connect to your database. If there are issues connecting to your database, it is most likely the result of a misconfiguration. We have provided you with the JDBC Probe program to identify the problem.

About JDBC Probe

Celoxis JDBC Probe is a simple java program that connects to your celoxis database. This helps to identify and fix connection issues with your database server.

Download JDBC Probe

Download jdbc-probe.zip from here

Using JDBC Probe

  1. Unzip the jdbc-probe.zip file. It should create a folder with the file JDBCProbe.class in it.
  2. Open a command prompt and cd to the folder that contains the JDBCProbe.class file.
  3. Run the program as shown below substituting values according to your setup.

    Windows

    java -cp .;drivers/* JDBCProbe product=oracle name=celoxis user=tim password=fox host=localhost

    Linux

    java -cp '.:drivers/*' JDBCProbe product=oracle name=celoxis user=tim password=fox host=localhost 
  4. You will receive a success message if the connection was successful. If the connection fails, the message returned by the driver is printed. This error message will give you a clue about the possible causes as explained later in this document.
Program Options
productOne of oracle, pgsql (for PostgreSQL), or mssql (for MicrosoftSQL Server)
nameThe name of the celoxis database instance.
user/passwordThe username and password to be used to connect to the database.

In case of Microsoft SQL server, the login and database must be configured to use the SQL Authentication mode (or Mixed mode), not Windows authentication mode.
hostThe dns hostname of the server where the database is running.
portThe port of the database server. This is an optional field and when unspecified the default port will be used.

Error Messages and Possible Causes

PostgreSQL

The connection attempt failed

  • The host name cannot be resolved by the DNS server.
  • Database server is not running on the host.
  • The database port on the database server is inaccessible because of a firewall.

Connection rejected: FATAL: password authentication failed for user

  • Username or password is incorrect

Backend start-up failed: FATAL: database "celoxis_db" does not exist

  • The database name (celoxis_db) is incorrect.
  • The user doesn't have privileges to logon to the database

SQL Server

Error establishing socket.

  • The host name cannot be resolved by the DNS server.
  • Database server is not running on the host.
  • The database port on the database server is inaccessible because of a firewall

Login failed for user

  • Username or password is incorrect.

Cannot open database requested in login

  • The database name is incorrect.
  • The user doesn't have privileges to logon to the database.

Not Associated with a trusted SQL Server Connection

  • This occurs typically when Microsoft Sql Server installation is configured to use only Windows authentication and not SQL Server authentication. To solve the problem: Change the Authentication change the authentication mode to sql server authentication.

The TCP/IP port is disabled or not accepting connections

  • Firewall is blocking the connection.
  • SQL Server not not been configured to listen on TCP/IP ports. To fix:
    1. Go to Microsoft SQL Server > Configuration Tools > SQL Server Configuration Manager
    2. In the SQL Server Configuration Manager select the node SQL Server Network Configuration > Protocols for MSSQLSERVER
    3. Right-click on the TCP/IP node and select Enable
    4. Restart the SQL Server (SQLEXPRESS) service (In Control Panel > Adminstrative Tools > Services, right-click on the SQL Server (SQLEXPRESS) service and select Restart)

Oracle

The Network Adapter could not establish the connection

  • The host name cannot be resolved by the DNS server.
  • Database server is not running on the host.
  • The database port on the database server is inaccessible because of a firewall.

Invalid username/password; logon denied

  • Username or password is incorrect

Connection refused(DESCRIPTION=(TMP=) (VSNNUM=153092352)(ERR=12505) (ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))

  • The database name is incorrect
  • The user doesn't have privileges to logon to the database

FAILURE: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor. [java.sql.SQLException]

  • One of the parameter you are passing is incorrect
  • The database does not exist on the connection properties you are specifying.

On-PremiseHow-To

Troubleshooting SSL

Open article

When Celoxis connects to your servers over SSL, it should be able to validate the SSL certificate presented by your server to it. Celoxis must be able to validate your SSL certificate against the Java trusted CA certficate store. For this to happen, the SSL certificate must be obtained from trusted Certificate Authority (CA) like Verisign, RapidSSL, Thawte, GeoTrust, etc. Celoxis does not support certificates signed using CAs not trusted by Java.

About SSL Poke

Celoxis SSL Poke is a java program that connects via SSL to a host and port of your choice. The server could be a web server, mail server or any other server that supports SSL. The primary objective is to determine whether Java can authenticate the server's certificate using its trusted CA certificate store. This program also verifies whether the host and port are correct.

Downloading SSL Poke

Download ssl-poke.zip from here

Using SSL Poke

  1. Unzip the ssl-poke.zip file. It should create a folder ssl-poke that contains the SSLPoke.class file.
  2. Open a terminal window and cd to the ssl-poke folder. You must now be in the same directory that contains the SSLPoke.class file.
  3. Then type: java SSLPoke <host> <port>
Examples

Connect to our web site

$ java SSLPoke www.celoxis.com 443
SUCCESS 

Connect to a server with a self-signed certificate

$ java SSLPoke localhost 8843
FAILURE: javax.net.ssl.SSLHandshakeException : PKIX path building failed
         unable to find valid certification path to requested target

Connect to our IMAP+SSL mail server

$ java SSLPoke secure.emailsrvr.com 993
SUCCESS 

Error Messages

  • javax.net.ssl.SSLHandshakeException : sun.security.validator.ValidatorException: PKIX path building failed
    Java cannot authenticate the server's SSL certificate because its Certificate Authority (CA) is not present in its trusted CA store.
  • java.net.UnknownHostException
    The host name is invalid i.e. not resolvable by your DNS server
  • java.net.ConnectException : Connection refused
    Port is invalid. No server is listening on that port.
  • java.net.ConnectException : Operation timed out
    The host and port combo cannot be connected. Most likely your firewall is blocking the connection, or, the IP address of the host is incorrect.
  • javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name
    There is a mismatch between host specified in input and host name in the SSL certificate.
  • Error: Could not find or load main class SSLPoke
    You are not in the directory that contains the SSLPoke.class file. cd to that directory and try again.
  • FAILURE: javax.net.ssl.SSLException : Unrecognized SSL message, plaintext connection?
    You are connecting to a non-SSL port.

On-PremiseHow-To

Troubleshooting LDAP

Open article

Celoxis LDAP authentication has been by hundreds of companies in various environments. If your LDAP based authenticaton is not working, it is most likely because of a misconfiguration which can be easily remedied using the LDAP Quest program.

About LDAP Quest

Celoxis LDAP Quest is a java program to debug connection and authentication issues with an LDAP server. First, it connects to an LDAP server and authenticates using the specified admin DN and password. If successful, tries to connect as the specified combination of end-user and password.

Downloading LDAP Quest

Download ldap-quest.zip from here

Using LDAP Quest

  1. Unzip the ldap-quest.zip file. It should create a folder ldap-quest that contains the LDAPQuest.class file.
  2. Open a terminal window and cd to the ldap-quest folder. You must now be in the same directory that contains the LDAPQuest.class file.
  3. Then type: java LDAPQuest <ldap-url> <admin-DN> <admin-password> <ldap-search-attr> <base-dn> <celoxis-username> <password>
    • If you are using Microsoft ADS, the ldap-search-attr must always be sAMAccountName
    • If any of the program arguments (e.g. password), contains a space or special characters, enclose it within single quotes.
Examples
$ java LDAPQuest ldap://ldap.celoxis.com cn=Administrator,cn=users,dc=celoxis,dc=com kaboom1 sAMAccountName cn=users,dc=celoxis,dc=com Joe joeIsKing1
1) Trying to connect to LDAP and bind as Admin...
----------------------------------------------------------------------------------------
SUCCESS: Admin authenticated successfully.

2) Trying to authenticate end user...
----------------------------------------------------------------------------------------
Searching for Joe in cn=users,dc=celoxis,dc=com
FOUND DN: CN=Joe,CN=Users,DC=celoxis,DC=com

3) Connecting as CN=Joe,CN=Users,DC=celoxis,DC=com with specified password...
----------------------------------------------------------------------------------------
SUCCESS: Joe authenticated successfully.
$ java LDAPQuest ldap://ldap.celoxis.com 'cn=Marcia Overstrand,cn=users,dc=celoxis,dc=com' kaboom1 sAMAccountName ou=Sales,dc=celoxis,dc=com Joe joeIsKing1
1) Trying to connect to LDAP and bind as Admin...
----------------------------------------------------------------------------------------
SUCCESS: Admin authenticated successfully.
2) Trying to authenticate end user...
----------------------------------------------------------------------------------------
Searching for Joe in ou=Sales,dc=celoxis,dc=com
FOUND DN: CN=Joe,OU=Sales,DC=celoxis,DC=com
3) Connecting as CN=Joe,OU=Sales,DC=celoxis,DC=com with specified password...
----------------------------------------------------------------------------------------
SUCCESS: Joe authenticated successfully.
$ java LDAPQuest ldap://ldap.forumsys.com cn=read-only-admin,dc=example,dc=com password uid dc=example,dc=com euler password
1) Trying to connect to LDAP and bind as Admin...
-------------------------------------------------------------------------------
SUCCESS: Admin authenticated successfully.

2) Trying to authenticate end user...
-------------------------------------------------------------------------------
Searching for euler in dc=example,dc=com
FOUND DN: uid=euler,dc=example,dc=com

3) Connecting as uid=euler,dc=example,dc=com with specified password...
-------------------------------------------------------------------------------
SUCCESS: euler authenticated successfully.

On-PremiseHow-To

Troubleshooting Email

Open article

Celoxis requires an email account just like a regular person. The easiest way to debug is to setup a temporary email account in a program like Outlook, Thunderbird, Gmail, etc. with the same settings entered in Celoxis. If that works, then Celoxis should work.

Network: DNS or Firewall

If the email works from a program but not from Celoxis using the same settings in Celoxis, then it is either the machine on which Celoxis is running cannot resolve the hostnames you specified or firewall is blocking access.

SSL

If your email servers are using self-signed certificates, then it will not work. To check if that is the issue, please read this chapter.

Plussed Addressing

For incoming emails to be properly acted upon by Celoxis, the Plussed Addressing setting should be correctly set. Please refer to this chapter for more information.

On-PremiseHow-To

Using Gmail as an email service

Open article

Gmail is a free and reliable email service from Google. If your email server does not provide plussed addressing, you can use Gmail as an alternative.

In this section, we shall create an example account in Gmail (celoxis.acme@gmail.com) and show how to set it up in Celoxis.

Create the Gmail account

Create the celoxis.acme@gmail.com account in Gmail.

Enable access to the Gmail Inbox from Celoxis

Login to celoxis.acme@gmail.com and go to SettingsAdvanced, then click IMAP Enabled under the IMAP Access field. This will enable Celoxis to connect to your Gmail account.

Configure Celoxis

Navigate to AdministrationSite Settings and click on Edit Settings under Actions. Enter information in the tabs as described below and save. restart.

Outgoing Email
Hostsmtp.gmail.com
SMTP Port465
Authentication TypePlain
ProtocolSMTP+SSL
Use STARTTLSYes
Usernameceloxis.acme@gmail.com
Password<gmail-password>
Default Sender Emailceloxis.acme@gmail.com
Incoming Email
Email Addressceloxis.acme@gmai.com
ProtocolIMAP+SSL
Hostimap.gmail.com
Usernameceloxis.acme@gmail.com
Password<gmail-password>
Plussed Symbol+

On-PremiseHow-To

Moving Celoxis to another machine

Open article

The way this works is first we install Celoxis on the new machine. We verify the installation works correctly. Then we replace the database and data directory with those from the old machine.

We will assume M1 to be the old machine and M2 to be the new machine on which to install Celoxis.

Apply for a new license for M2

Read this chapter on how to apply for a license. You should start the migration process only after you have the new license file.

Backup your database and data directory on M1

  1. On M1, navigate to AdministrationSite Settings and look for the database name and data directory under Server Information. See this example.
  2. On M1, Stop Celoxis.
  3. Backup your database into a file called database.backup and copy data directory to a directory data. Ensure that this directory has the two sub-directories indices and documents.

Complete and verify your Celoxis installation on M2

Install Celoxis on your new server. Verify that you are able to login and you can see the sample data on your dashboard. There is no need to configure your email server, authentication, etc. as of now. You can do that after your data is restored.

Restore the database backup and data directory on M2

  1. On M2, Navigate to AdministrationSite Settings and look for the database name and data directory under Server Information. See this example for more information.
  2. Stop Celoxis.
  3. Drop the existing database.
  4. Recreate the database using the same database user that Celoxis will use to connect to the database.
  5. Restore the database from the backup file on M1. Instructions are provided later in this chapter.
  6. Delete your data directory (recorded in step 1) and copy the data directory that you have from M1in its place.
  7. Assuming your data directory on M2 is at C:\celoxis\data, run the following sql: update db_config set value='C:\celoxis\data' where name='local_storage_root'
  8. Assuming you will now access Celoxis as http://celoxis.acme.com:8888, run the following sql: update db_company set server_name='celoxis.acme.com:8888'
  9. Start Celoxis.
  10. Update site settings like email settings, etc. if required

Restoring your database

PostgreSQL

pg_restore -Fc -d <dbname> -O -U <username> database.backup

Microsoft SQL Server

Using Enterprise Manager, right click on the database node and choose Restore from All Tasks. Use the database.bak provided.

Oracle

Please contact your Oracle DBA.

On-PremiseHow-To

Migrating from SaaS to On-Premise

Open article

The way this works is first we do a local installation. We verify the installation works correctly. Then we replace the database and data directory with the one provided by us from your SaaS account.

Complete and verify your local installation

Install Celoxis on your server. Verify that you are able to login and you can see the sample data on your dashboard. There is no need to configure your email server, authentication, etc. as of now. You can do that after your data is restored.

Download your SaaS backup files

You will be provided with a link to download the database and the documents. You will see two files:

  • database.backup.zip - the backup of the database
  • data.zip - the backup of the documents you have uploaded

Unzip the backup files

Download the two files and unzip them. You should now have 2 directories :

  1. A database.backup directory
  2. A directory called data. Verify that this directory has two sub-directories indices and documents.

Restore the database backup and data directory

  1. Navigate to AdministrationSite Settings and look for the database name and data directory under Server Information. See this example for more information.
  2. Stop Celoxis.
  3. Drop the existing database.
  4. Recreate the database using the same database user that Celoxis will use to connect to the database.
  5. Restore the database. Instructions are provided later in this chapter.
  6. Delete your data directory (recorded in step 1) and copy the data directory that you obtained after unzipping data.zip to that location.
  7. Assuming your data directory is at C:\celoxis\data, run the following sql: update db_config set value='C:\celoxis\data' where name='local_storage_root'
  8. Assuming you will access Celoxis as http://celoxis.acme.com:8888, run the following sql: update db_company set server_name='celoxis.acme.com:8888'
  9. Start Celoxis.
  10. Update site settings like email settings, etc.

Restoring your database

PostgreSQL

pg_restore -Fc -d <dbname> -O -U <username> database.backup

Microsoft SQL Server

Using Enterprise Manager, right click on the database node and choose Restore from All Tasks. Use the database.bak provided.

Oracle

Please contact your Oracle DBA.

Back to contents