Digital Business Ecosystem project broker specification
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 vianet_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.
- Start/end (
- When the properties are set, a
remote_searchparameter (domainorg.openpsa.projects.projectbroker) is set toREQUEST_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
- when the service starts search it sets this to
- 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_searchproperty toSEARCH_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
- 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
