Manage Your Consulting Business

Digital Business Ecosystem project broker specification

  1. Search process
  2. Person and company information
  3. Endorsements

This document describes how the Digital Business Ecosystem project broker looks for potential subcontractors to a task from the DBE network.

Related documentation

Search process

  • User creates a new task setting following properties
    • Start/end (org_openpsa_task.start, org_openpsa_task.end)
    • Planned hours (org_openpsa_task.plannedHours)
    • Skills required (tags) (set of net_nemein_tags linked to the task via net_nemein_tag_link)
    • Minimum length of time slot (in minutes) (parameter: org.openpsa.projects.projectbroker -> minimum_slot)
    • Optionally properties related to acceptable contractors:
    • Country (parameter: org.openpsa.projects.projectbroker -> country), value is two letter ISO code in letters.
    • Maximum time difference (in hours) (parameter: org.openpsa.projects.projectbroker -> max_time_offset)
    • TODO: How to reliably determine the timezone of a person.
  • When the properties are set, a remote_search parameter (domain org.openpsa.projects.projectbroker) is set to REQUEST_SEARCH
    • when the service starts search it sets this to SEARCH_IN_PROGRESS
    • if no remote search is desired this property is unset or left to NO_SEARCH
  • Optionally, the Project Broker servent is pinged (using for example XML-RPC) to start the DBE network query for a task with the given guid immediately, otherwise the servent polls the database for new search requests
  • The Project Broker servent notices this property and queries the knowledge base for potential resources matching the search (based on skills, and potentially country etc)
    • skills matching is AND, person must have all of the skill tags in task
    • user needs divide tasks up to subtasks if they need subsets
  • If the potential resources have a calendaring service available, DBE service also checks if the resources have enough free time available during the task timeframe
  • Once potential resources are found, their company and person records are copied to the local database (see below), and a task resource object marked PROSPECT is created for them
    • If they have a calendaring service defined, events for the task's timeframe are also copied
    • Remote users and their calendar entries are marked remote as specified in the OpenPSA remote synchronization service
  • User interface uses AJAX to fetch new prospect entries and populates them to the potential resource list
  • If the resource has calendaring information available, the UI shows all applicable time slots of working on the task and their previous and next events
    • Each slot has a checkbox "use this slot". When clicked, that time is allocated from the planned hours, and a tentative event created for the person
  • If resource doesn't have calendaring information available they can simply be allocated just as task resources
  • Once DBE has queried all potential resources, it sets the remote_search property to SEARCH_COMPLETE

Person and company information

  • Transmit company and person info via vCard if feasible
    • Store basics required for actual operations in BML and extend via vCard
  • Company
    • Official name
    • VAT code
    • Homepage
    • Street address
    • Zip
    • City
    • Country
    • Tel
    • Logo URL
  • Person
    • Firstname
    • Lastname
    • Email
    • Phone
    • Jabber ID
    • Calendar service (URL or service identifier)
    • Photo URL
    • Skills
    • Timezone
    • City
    • Country

Endorsements

  • In endorsement a customer endorses person's ability to deliver project regarding some skills
  • UI-wise this happens when approving a finished project. User can check a box to endorse the project team and write a comment
  • Endorsement contains
    • Source (person)
    • Destination (person)
    • Skill (tag)
    • Date
    • Comment
  • When seeking potential resources for project, DBE also seeks for endorsements left by user's buddy list members about those resources and the applicable skills
  • Locally stored as org_openpsa_projects_endorsement
OpenPsa is a web-based management suite for consultancies. It has been developed by Nemein and is available under a Free Software license.