This wiki is locked. Future workgroup activity and specification development must take place at
our new wiki
. For more information, see
this blog post about the new governance model
and
this post about changes to the website
.
TWiki
>
Main Web
>
CmHome
>
CmImplementationReports
(23 Apr 2012,
RobertElves
)
(raw view)
---+!! OSLC CM Implementation Reports Implementers of the OSLC CM specifications are encouraged to place feedback on their experience (good and bad). To add a report, simply copy and paste a section template and fill out any necessary information. %TOC% ---+ OSLC CM 2.0 This section gathers implementation reports for [[CmSpecificationV2][OSLC CM 2.0]] %RED%NOTE: These implementation reports are moving to a [[https://spreadsheets.google.com/ccc?key=0AsgaoPBj7epTdEw1MW41OEJmRlozQlpMM1Rxel9KRUE&hl=en&authkey=CKfzkPAB][Google SpreadSheet]]. Make changes there %ENDCOLOR% ---++ Providers ---+++ Rational Change *Contact information:* * Contacts: JayGillibrand and SamLee * Fix pack 5.2.0.4 *Details about support:* * OSLC CM 2 service provider * OSLC CM 1 service provider *Table of supported capabilities:* See [[https://spreadsheets.google.com/ccc?key=0AsgaoPBj7epTdEw1MW41OEJmRlozQlpMM1Rxel9KRUE&hl=en&authkey=CKfzkPAB][Google SpreadSheet]] *Additional details about support:* (not noted in table) * CmExperimental * woami service * Subset of specs supported * oslc.prefix is ignored. Assumes default prefixes. * oslc.where mostly supported * Cannot match against attributes of a person. Full URLs to of 'person's must be used. (E.g., cannot query `dcterms:creator{foaf:givenName="John"}`. Can use `dcterms:creator{<url to John>}`.) * OSLC resources in other repositories (linked from a local CR) cannot be queried against. Links to them can be returned in queries results with oslc.select. *Issues:* 1 Missing support for "oslc_cm:label" attribute for links to remote repositories as in OSLC-CM 1.0. This used to allow pretty names for links (chosen for the client when adding links) if the provider does not have the log in information for the remote repository. It's having HTML <A>s with HREFs, but no innerText. 1 Vague on how "user" attributes are handled. Must each person they have a URL to a separately retrievable foaf:Person resource. Is the URL the only unique handle to a person? 1 Partial update via PATCH seems overly complex for a logically simple operation.Fortunately it's optional. *Worked well:* * Consistent resource representations (ServiceProviders to ChangeRequests are all just resources) * Summary/check list of capabilities made it simpler to know exactly what needs to be implemented. ---+++ Rational !ClearQuest *Contact information:* * Contacts: SamPadgett * This capability was implemented in Rational !ClearQuest 7.1.2. *Details about support:* * OSLC CM 2.0 Service Provider * OSLC CM 1.0 Service Provider *Table of supported capabilities:* See [[https://spreadsheets.google.com/ccc?key=0AsgaoPBj7epTdEw1MW41OEJmRlozQlpMM1Rxel9KRUE&hl=en&authkey=CKfzkPAB][Google SpreadSheet]] *Additional details about support:* (not noted in table) * Subset of specs supported and why: * =oslc.where= is not fully supported. Missing features: * <span style="display: block" class="DescriptionSpan">wildcard (*) support on identifiers</span> * <span style="display: block" class="DescriptionSpan">queries on URI references (partial support is there)<br /></span> * <span style="display: block" class="DescriptionSpan">typed literals, for instance: "42"ˆˆxsd:integer<br /></span> * <span style="display: block" class="DescriptionSpan">LANGTAG, for instance: "Bonjour"@fr</span> * <span style="display: block" class="DescriptionSpan">=oslc.prefix= is not fully supported </span> * Deviations from specs and why: * =oslc.searchTerms= does not work in conjunction with =oslc.where= and =oslc.select=. This isn't possible give how full text search is currently implemented in the ClearQuest Core. * Any CmExperimental Items Implemented * The 'whoami' service *Issues:* 1 It's difficult to map !ClearQuest fields to standard OSLC !ChangeRequest properties since !ClearQuest is completely customizable. Our long-term solution is to give !ClearQuest administrators a UI to configure these field mappings. 1 The OSLC CM 2.0 specification only defines one resource type: !ChangeRequest. Many records in !ClearQuest (components, projects, and so on) are not change requests, so it's not clear how these resources should be represented. 1 You can't tell from the service description document alone which resources accept links. This is key for many bridge-style integrations. Consumers might accomplish this through resource shapes, but it would require many requests from the consumer (one for each dialog) and unnecessary overhead. 1 There's a need to launch delegated UIs for actions on existing records, not just for creating new records. This would help at least two ClearQuest integrations: UCM (CC-CQ) and DOORS-CQ. 1 More comprehensive test suites to validate service providers would help future implementations. *Worked well:* * OSLC CM 2.0 is a clear improvement over 1.0. Common service discovery and other capabilities across domains mean you only need to write your code once and can still work with CM, RM, and QM providers. You can also do more with the REST API without any knowledge about the specific provider you are connecting to. * Several integrations with ClearQuest already using OSLC 2.0 have validated the approach. * We were able to build upon our 1.0 implementation to quickly implement a 2.0 provider. * The OSLC-Core-Version header helped us maintain backwards compability with older releases while still offerring 2.0 features. ---+++ Mantis *Contact information:* * MadhumitaDhar OlivierBerger * This capability was implemented in Mantis 1.2 * Date of report: * Date of availability: (indicate if estimated) *Details about support:* * Specification version OSLC CM 2.0 (partially supported) * Implementation supported: service provider *Table of supported capabilities:* See [[https://spreadsheets.google.com/ccc?key=0AsgaoPBj7epTdEw1MW41OEJmRlozQlpMM1Rxel9KRUE&hl=en&authkey=CKfzkPAB][Google SpreadSheet]] More details at : https://picoforge.int-evry.fr/cgi-bin/twiki/view/Oslc/Web/MantisOslcServer *Issues:* 1 As the oslc-cm mantis implementation was created using the native mantis apis available, the query capabilities are limited to those offered by the api. 1 Lack of an oslc test client/consumer makes it unable to fully verify the completeness of the implementation. 1 Development is now halted, as efforts of implementors is targeted at FusionForge instead. ---+++ Rational Team Concert (RTC) *Contact information:* * Reported by PatrickStreule * This capability was implemented in RTC 3.0 * Date of report: 14-September-2010 * Date of availability: 4Q2010 (estimated) *Details about support:* * Specification version supported: OSLC CM 2.0 * Implementation supported: service provider *Table of supported capabilities:* See [[https://spreadsheets.google.com/ccc?key=0AsgaoPBj7epTdEw1MW41OEJmRlozQlpMM1Rxel9KRUE&hl=en&authkey=CKfzkPAB][Google SpreadSheet]] *Additional details about support:* (not noted in table) * See Google Docs *Issues:* 1 RI and TCK would have been desirable. 1 Freely configurable workflows in RTC required considerable work in order to be able to map them to the semantic predicates. 1 With hindsight, unrestricted RDF/XML + JSON would have been sufficient, IMO *Worked well:* * Availability of RDF/XML across specs in combination with Jena makes consumption a lot easier ---+++ FusionForge trackers *Contact information:* * OlivierBerger * This capability is currently being implemented in the frame of the COCLICO project, for FusionForge 5.x * Date of report: * Date of availability: (indicate if estimated) Some more details available at : https://picoforge.int-evry.fr/cgi-bin/twiki/view/Oslc/Web/FusionForgeOslcServer _TBD_ ---+++ Codendi trackers *Contact information:* * OlivierBerger is currently being implemented in the frame of the COCLICO project. * This capability * Date of report: * Date of availability: (indicate if estimated) _TBD_ ---+++ Tasktop Sync *Contact information:* * Contact: [[mailto:info@tasktop.com][info@tasktop.com]] * Reported by RobertElves * Introduced in Tasktop Sync 2.0, November 29, 2011 * Date of report: April 23, 2012 * Date of availability: immediate * [[http://tasktop.com/sync][Information and Videos]] *Details about support:* * Specification version supported: OSLC CM 2.0 * Implementation supported: service provider, OSLC Core UI Preview * OSLC-CM UI Preview currently avialable to provide rich hover to systems integrated with Tasktop Sync *Issues:* 1 Not an issue, but a reminder to pay close attention to XML character encoding/escaping to ensure consumers don't fail. *Worked well:* * Minimal service discovery and html/javascript makes adding OSLC UI Preview support to CM systems very straight forward. ---++ Consumers ---+++ Rational DOORS *Contact information:* * Reported by BrianSteele * This capability was implemented in DOORS 9.3.0.1 * Date of availability: Dec 1, 2010 *Details about support:* * OSLC CM 2.0 Consumer * OSLC CM 2.0 Providers tested with: * Rational Change * Rational ClearQuest *Table of supported capabilities:* See [[https://spreadsheets.google.com/ccc?key=0AsgaoPBj7epTdEw1MW41OEJmRlozQlpMM1Rxel9KRUE&hl=en&authkey=CKfzkPAB][Google SpreadSheet]] *Additional details about support:* (not noted in table) * See [[https://spreadsheets.google.com/ccc?key=0AsgaoPBj7epTdEw1MW41OEJmRlozQlpMM1Rxel9KRUE&hl=en&authkey=CKfzkPAB][Google SpreadSheet]] *Issues:* 1 State predicates do not give as much granularity as we would like for query purposes. Having a predicate map to more than one state can result in large result sets that must be pruned. Sometimes we want only CRs in the "assigned" state. The closest we can get to that using state predicates is "in progress", which will also get us CRs in other states that are not closed. We are expecting four states in the lifecycle: Assigned, In Review, Approved, Closed. They don't need to have those exact names, but they need to have the same conceptual meaning. We can tell the difference between In Review, Approved, and Closed using the predicates that are available now. However, we can't tell the difference between Assigned and In Review. 1 Inability to use OR in queries. There are cases where we need to query for more than one state predicate. For most other OSLC queries you can query for a specific attribute using a range of values so there is no need for OR. You cannot do this with state predicates, so we end up writing a query using all the state predicates we don't want =false. For example oslc_cm:closed=false and oslc_cm:approved=false<br />This was a minor issue that we were able to workaround easily. *Worked well:* * Able to use common properties such as dcterms:title, dcterms:description, oslc:shortTitle, oslc_cm:status as query filters and property filters * Creating links using common link properties such as oslc_cm:tracksRequirement and oslc_cm:implementsRequirement ---+++ Rational Requirements Composer *Contact information:* * Reported by MarcBaumbach * This capability was implemented in Rational Requirements Composer 3.0.1 Beta 3. * Date of report: 2011-04-27 * Date of availability: Rational Requirements Composer 3.0.1 *Details about support:* * OSLC CM 2.0 Consumer * OSLC CM 2.0 Providers tested with: * Rational Team Concert 3.0.1 Beta 3 *Table of supported capabilities:* See [[https://spreadsheets.google.com/ccc?key=0AsgaoPBj7epTdEw1MW41OEJmRlozQlpMM1Rxel9KRUE&hl=en&authkey=CKfzkPAB][Google SpreadSheet]] *Additional details about support:* (not noted in table) * None *Issues:* 1 I expected implementsRequirementCollection to be part of the CmExperimental namespace as it is involved with plans, but it was still calm:implementsRequirementCollection which seemed a bit inconsistent. *Worked well:* * Creating links using common link properties such as oslc_cm:tracksRequirement and oslc_cm:implementsRequirement * Creating links directly on the resource vs. through a collection reference like we did in 1.0. * Common namespaces with OSLC Core made implementations easier across capabilities. ---+++ Rational Team Concert (RTC) *Contact information:* * Reported by PatrickStreule * This capability was implemented in RTC 3.0 * Date of report: 14-Sept-2010 * Date of availability: 4Q2010 (estimated) *Details about support:* * Specification version supported: OSLC CM 2.0 * Implementation supported: consumer * OSLC CM 2.0 Providers tested with: * Rational Team Concert 3.0 Beta 2 * Rational ClearQuest *Table of supported capabilities:* See [[https://spreadsheets.google.com/ccc?key=0AsgaoPBj7epTdEw1MW41OEJmRlozQlpMM1Rxel9KRUE&hl=en&authkey=CKfzkPAB][Google SpreadSheet]] ---+++ Rational Quality Manager *Contact information:* * Reported by PaulMcMahan * This capability was implemented in Rational Quality Manager 3.0 Beta 2. * Date of report: 14-Sept-2010 * Date of availability: 4Q2010 (estimated) *Details about support:* * OSLC CM 2.0 Consumer * OSLC CM 2.0 Providers tested with: * Rational Team Concert 3.0 Beta 2 * Rational ClearQuest *Table of supported capabilities:* See [[https://spreadsheets.google.com/ccc?key=0AsgaoPBj7epTdEw1MW41OEJmRlozQlpMM1Rxel9KRUE&hl=en&authkey=CKfzkPAB][Google SpreadSheet]] *Additional details about support:* (not noted in table) * Plans *Issues:* 1 I None *Worked well:* * Support for common properties, namepspaces, resource formats, and REST conventions defined in OSLC core * Query support is flexible and suitable for many use cases * Relationship properties modeled directly on the resource vs. in a separate collection * JSON support for CRUD operations from a web UI * Backward compatible with CM 1.0 using OSLC-Core-Version header --- ---+++ <2.0 template> <Implementer> (copy and update template) *Contact information:* * Reported by... * This capability was implemented in... * Date of report: * Date of availability: (indicate if estimated) *Details about support:* * Specification version supported: OSLC CM 2.0 * Implementation supported: <consumer> and/or <service provider> * (if consumer, please add....) * OSLC CM 2.0 Providers tested with: * (list out providers) *Table of supported capabilities:* _Add column in the [[https://spreadsheets.google.com/ccc?key=0AsgaoPBj7epTdEw1MW41OEJmRlozQlpMM1Rxel9KRUE&hl=en&authkey=CKfzkPAB][Google SpreadSheet]] for your implementation_ *Additional details about support:* (not noted in table) * Subset of specs supported and why: * ... * Deviations from specs and why: * ... * _Add to [[https://spreadsheets.google.com/ccc?key=0AsgaoPBj7epTdEw1MW41OEJmRlozQlpMM1Rxel9KRUE&hl=en&authkey=CKfzkPAB][Google SpreadSheet]] any CmExperimental Items Implemented_ *Issues:* 1 <issues> *Worked well:* * <good things> ---+ OSLC CM 1.0 This section gathers implementation reports for [[CmSpecificationV1][OSLC CM 1.0]] ---++ [[http://www-01.ibm.com/software/awdtools/clearquest/index.html][Rational ClearQuest]] <strong>Contact information:<br /></strong> * Reported by SteveSpeicher * This capability was implemented in [[https://jazz.net/projects/rational-team-concert/][Rational Team Concert (RTC) 2.0]] as part of the ClearQuest Bridge component. * This depends on [[http://www-01.ibm.com/software/awdtools/clearquest/index.html][Rational ClearQuest 7.1]] server component only along with RTC 2.0 server. *Details about support:* * Specification version supported: <u>OSLC CM 1.0</u> * Implemenation supported: <u>service provider </u> * Detailed information: [[https://jazz.net/wiki/bin/view/Main/RcmRestCmApi][ClearQuest REST API]]<u><br /></u> * Subset of specs supported and why: * prefill of submission dialog not supported, fix planned * exploratory support of "ChangeRequest" resource. CQ has a very flexible model and no transformation framework. We provided an experimental XSL backend that allows this to work * Deviations from specs and why: * don't fully support oslc_cm:collref as spec'd: missed during testing, will fix in upcoming fixpack *Issues:* 1 Consumers had issues with relative paths in service description document *Worked well:* * Consistent JSON/XML formats * Consumers have found inlined properties to be very useful to limit the number of requests they need to make * Service Discovery * Delegated Web UIs work very well. Supporting the window.name IFrame protocol is tricky, but necessary for older browser support. Maybe we need a consumable Javascript library (that doesn't require Dojo) which hides some of the messy details from OSLC consumers. * Sample application showing the integration early on worked well --- ---++ Tasktop ClearQuest Connector *Information:* * Contact: [[mailto:info@tasktop.com][info@tasktop.com]] * Reported by RobertElves * [[http://tasktop.com/connectors/clearquest][Information and Videos]] *Details about support:* * Specification version supported: <u>OSLC CM 1.0</u> * Implemenation supported: <u>consumer</u> of ClearQuest OSLC api *Issues:* 1 Need ServiceDescriptor to contain additional element describing the request path for a change request given its _identifier_. This could eliminate problems when the repository location changes domains. I.e. if the domain changes, clients only need to update info from the service descriptor without need to update stale data in cached change requests themselves. 1 Need clarification on rdf:about vs rdf:resource attribute usage in ChangeRequest (which is correct?) 1 Example response documents for a Simple Query would be useful *Worked well:* * Service discovery to easily guide user through repository selection * Service discovery of available services for programatic access * OSLC simple query support --- ---++ Tasktop Rational Team Concert Connector Contact information: * Contact: [[mailto:info@tasktop.com][info@tasktop.com]] * Reported by RobertElves * [[http://tasktop.com/connectors/rtc][Information and Videos]] *Details about support:* * Specification version supported: <u>OSLC CM 1.0</u> * Implemenation supported: <u>consumer</u> of %BLUE%<u>RTC's </u>%ENDCOLOR%OSLC-CM api --- ---++ [[https://jazz.net/projects/rational-team-concert/][Rational Team Concert (RTC) 2.0]] *Contact information:* * Reported by AndreWeinand * This capability was implemented in [[https://jazz.net/projects/rational-team-concert/][Rational Team Concert (RTC) 2.0]] as part of the Work Item component. *Details about support:* * Specification version supported: <u>OSLC CM 1.0</u> * Implementation supported: <u>service provider</u> * Detailed information: [[https://jazz.net/wiki/bin/view/Main/ResourceOrientedWorkItemAPIv2][Resource Oriented Work Item API 2.0]] *Issues:* 1 ATOM format for result sets questionable. It is expensive to generate because it requires additional information that is not automatically part of the result set (and in most cases is not needed by clients anyway). Most of our clients clearly prefer the simple xml and json formats. *Worked well:* * Selective and inlined properties: you can get exactly what you need. * Support for simple to use JSON format. --- ---++ [[http://jazz.net/projects/rational-quality-manager/][Rational Quality Manager (RQM) 2.0]] *Contact information:* * Reported by GoshenPan * This capability was implemented in [[https://jazz.net/projects/rational-quality-manager/][Rational Quality Manager (RQM) 2.0]] to integrate with any compliant service providers as change management system. *Details about support:* * Specification version supported: <u>OSLC CM 1.0</u> * Implementation supported: <u>consumer</u> *Issues:* 1 No recommended or suggested specification for establishing back link *Worked well:* * <TBD> ---++ OSLC-CM V1 demo server in PHP ([[https://picoforge.int-evry.fr/cgi-bin/twiki/view/Oslc/Web][oslcv1-demo-server-php]]) Well, this is not yet a real OSLC-CM server, as it's only a protoype and lacks many features, but we hope it could be covering the whole of OSLC-CM V1 some day (when its 1.0 version will be released). Still, it may help test client tools. More details at : https://picoforge.int-evry.fr/cgi-bin/twiki/view/Oslc/Web Sorry, not following the template, as it's not really a real implementation so far. -- Main.OlivierBerger - 02 Dec 2009 ---++ [[https://picoforge.int-evry.fr/cgi-bin/twiki/view/Oslc/Web/MantisOslcServer][Add-on for Mantis 1.2]] *Contact information:* * Implemented by Institut TELECOM as part of Helios project (Main.OlivierBerger) * This capability is being implemented in order to address Mantis request for evolution [[http://www.mantisbt.org/bugs/view.php?id=11063][0011063: Support OSLC-CM API to ease integration with ALM platforms]] to offer a REST interface for Mantis. *Details about support:* * Target Specification version to be supported: <u>OSLC CM 1.0</u> * Implemenation supported: <u>provider</u> *Issues:* 1 Not yet complete OSLC-CM V1 : work in progress *Worked well:* * <TBD> ---++ [[http://www-01.ibm.com/software/awdtools/change/index.html][Rational Change (1.0 support)]] *Contact information:* * Implemented by JayGillibrand * SamLee *Details about support:* * Target Specification version to be supported: <u>OSLC CM 1.0</u> * Implemenation supported: <u>provider</u> *Issues:* 1 So many namespaces! 1 So many ways to get a URL (rdf:about, oslc_cm:resource, atom links). 1 Unlike a more traditional, procedural API, it's hard to know what OSLC even does from the spec, which is about REST style resources more than operations. A quick high-level summary of all the supported operations (ad-hoc query, modify CR, etc.) and pointers to the relevant details in the spec could make it faster to understand 1 Multiple return formats (JSON, XML) were easy enough to implement, but make for somewhat tedious testing. I can see how both formats are useful to different consumers though. Not a big deal. 1 No standard test suite means I don't really know if my implementation is "done" or correct. I essentially used RQM as a client as the de facto test suite, though it doesn't provide complete coverage of everything in OSLC. This was my biggest issue. 1 URLs seem awfully fragile since they capture the hostname and port of the Change server at the time the request was made. Customers often upgrade and rename hardware, meaning any URLs stored in, say, RQM will go rancid on us. 1 Lots of missing stuff (obviously): getting a list of possible properties, required properties, handling attachments, etc. *Worked well:* * Basic-auth made for an easy authentication scheme. * Atom doesn't seem like a very convenient wrapper format, but it's nice that IE and Firefox both know how to display. It's easier to debug a query that way or explain OSLC to someone when there's something a little more tangible to see than just XML. * OSLC happened to map pretty closely to how Change already works. Coincidence or an artifact of careful planning and a relatively small set of operations in 1.0? ---++ [[http://www.rallydev.com/][Rally Software]] *Contact information:* * MarkRinger * As of May 2010, we are just starting to code our first OSLC Consumer using ClearQuest as the provider. We already have a ClearQuest Connector using the old COM API so are not in a huge hurry to release. But, we do want to support OSLC and see it as a much easier spec to implement, it will make support of the connector simpler, and will also provide leverage and learning for us as more ALM tools support OSLC. *Details about support:* * Specification version supported: <u>OSLC CM 1.0</u> * Implemenation supported: <u>consumer</u> * Deviations from specs and why: * Plan to use custom ClearQuest endpoints for custom fields and actions *Issues:* 1 Just starting. More soon... *Worked well:* * Just starting. More soon... ---++ <1.0 template> <Implementor> (copy and update template) *Contact information:* * Reported by... * This capability was implemented in... *Details about support:* * Specification version supported: <u>OSLC CM 1.0</u> * Implemenation supported: <<u>consumer</u> and/or <u>service provider</u>> * Subset of specs supported and why: * ... * Deviations from specs and why: * ... *Issues:* 1 <issues> *Worked well:* * <good things>
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r45
<
r44
<
r43
<
r42
<
r41
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r45 - 23 Apr 2012 - 15:25:20 -
RobertElves
Main
Main Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
Webs
Main
Sandbox
TWiki
Български
Cesky
Dansk
Deutsch
English
Español
Français
Italiano
日本語
Nederlands
Polski
Português
Русский
Svenska
简体中文
簡體中文
Copyright � by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our
Terms of Use
Ideas, requests, problems regarding this site?
Send feedback