License Monitor

Target releaseLicense Monitor
Epic 
Document statusDRAFT
Document owner

Ethan Presberg (Unlicensed)

Designer
Developers
QA

Goals

  • Get the user count and case count for every internet accessible ProcessMaker installation.
  • Get the user count and case count for every non internet accessible ProcessMaker installation.

Background and strategic fit

We need to provide a means for our sales team to know the user count and case count of a ProcessMaker installation on a periodic basis. This will enable our sales team to follow up with our customers and up sell the user or case subscription.

Assumptions

  • Some ProcessMaker installation may have access to the internet
  • Some ProcessMaker installation may not have access to the internet
  • This feature will have to be developed as a custom plugin

Requirements

#TitleUser StoryImportanceNotes
1Monitoring InterfaceThe sales rep will need to review the results collected by this tool so that they may follow up with the customerMust Have
  • Will need to have security enabled
  • We can add this to the enterprise.processmaker.com as a report
  • Not necessary to have https
2Monitoring APIAn api for the tool to report the gathered metrics from the customer and also for the Monitoring Interface to pull the data for the sales rep to report on.Must Have
  • The api will need to be secure and utilize https
3Monitoring ToolA plugin that will capture the number of users and cases in the ProcessMaker instance and report it to the Monitoring APIMust Have
  • This will be a custom plugin
  • Ideally integrate it to the core of ProcessMaker at a later stage
4Unit TestsIt must work well. This will be integrated to a production environment and we cannot afford for the Monitoring Tool to cause any problems at all to a production environment.Must Have
  • Utilize PHPUnit
  • Must have at least 70% coverage, ideally 80%

User interaction and design

Architecture Diagram

Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome
Who will do the development of this tool? Engineering or Sales Engineering? 
Will we do a soft limit or hard limit? e.g. just report the numbers or limit the creation of new users. 

Not Doing