Skip to content

CureCode

rgchris edited this page Oct 5, 2016 · 4 revisions

Note: The Rebol 3 Issues database has moved, it is now under the Rebol account on GitHub.


For bug reports and enhancement requests.

Table of Contents

Summary

For 3.0 bug reporting and enhancement requests we use CureCode, written and hosted by Softinnov.

The web site interface can be found at http://curecode.org/rebol3/

Basics

It's pretty obvious when you look at it.

No account is needed to view and search tickets.

To submit or change a ticket requires an account. But, it is easy and fast to register (also via the link at the top of the page.)

You can also modify the state of tickets that you've submitted earlier.

Questions

Does it have a Rebol interface?

Although it runs in Rebol via the Cheyenne web server, there is currently no direct Rebol interface, but there are plans to add it later.

Can it be enhanced?

Several enhancements have already been made, and you can submit your suggestions to Softinnov. In addition, the source code is available, so you can help with bugs and enhancements.

API documentation

Main features:

  • retrieve a list of tickets based on preset filters
  • retrieve whole details about a given ticket ID
  • returned data are in Rebol format (XML support pending)
  • doesn't support yet adding or modifying tickets
The current API should be considered alpha.

Query format

CureCode API URLs must be in the following format:

http://curecode.org/rebol3/api.rsp?<parameter 1>&<parameter 2>&<parameter n>

Parameters are separated using the ampersand character (&). You can specify as many parameters as you like, in any order. Parameters can be passed in URL or as POST data.

Response format

All responses are encapsulated using the following format :

[<status> <data>]
<status>
is a word! value informing about the completion of the request
ok
valid request, <data> can be a block! or integer! value.
error
invalid request, <data> will be a string! containing an error message.
[ok 492]
[ok [403 202 404]]
[ok [summary: "Crash calling BROWSE function" description:...]]

[error "FILTER argument is invalid"]

You can use LOAD to query the remote API and get Rebol data back. If you don't trust the server, you can use LOAD/ALL or READ instead.

>> load http://curecode.org/rebol3/api.rsp?type=list&filter=2&mode=count
== [ok 492]

>> read http://curecode.org/rebol3/api.rsp?type=list&filter=2&mode=count
== "[ok 492]"

Get tickets list

Returns a list of tickets ID matching the selected filter. Optional parameters can be specified to control paging and/or retrieve additional informations.

Required parameters

  • type=list
  • filter='''&lt;preset>'''
    • &lt;preset> is an integer index value for one of the preset filters:
2 Most Recent Reports
3 Unreviewed Submissions
4 Active Priorities
5 Tested
6 Recent Changes
7 Worst Severity
8 By Submitter
9 Completed
>> load http://curecode.org/rebol3/api.rsp?type=list&filter=2
== [ok [
    507
    506
    505
    504
    ...

Optional parameters

  • mode='''&lt;kind>'''
&lt;kind> is a word switching between different modes of information:
count
returns only the number of tickets matching the query (integer! value).
brief
returns a few additionnal info for each ticket (block! of tickets).
>> load http://curecode.org/rebol3/api.rsp?type=list&filter=2&mode=count
== [ok 492]

>> load http://curecode.org/rebol3/api.rsp?type=list&filter=2&mode=count
== [ok 492]

>> load http://curecode.org/rebol3/api.rsp?type=list&filter=2&mode=brief
== [ok [
      [507 1 "Bug" "minor" "submitted" 12-Apr-2009/1:08:18 "test" 1 5 "normal"]
      [506 0 "Wish" "trivial" "submitted" 30-Nov-2008/17:16:43 ...

Note 1: The brief mode returns a few extra info that may be removed in future versions, like at position 8 the internal status ID and at position 9, the internal severity ID.

Note 2: The count mode main usage is to allow paging preparation for long lists.

  • range='''&lt;part>'''
&lt;part> parameter is a pair! value defining a sub-list. First value indicates the lower bound (>=1) and the second one the upper bound value.
>> load http://curecode.org/rebol3/api.rsp?type=list&filter=2&range=2x5
== [ok [
	506
	505
	504
	503
]]

>> load http://curecode.org/rebol3/api.rsp?type=list&filter=2&mode=brief&range=1x1
== [ok [
	[507 1 "Bug" "minor" "submitted" 12-Apr-2009/1:08:18 "test" 1 5 "normal"]
]]

Note: A query like type=list&filter=1&range=1x1 will give you the last submitted ticket. This can be use in a native client for notifying user when a new ticket is posted.

Get ticket data

Returns ticket detailed informations. Optional parameters can be specified to get comments and history.

Required parameters

  • type=ticket
  • id='''&lt;ticket-id>'''
&lt;ticket-id> is a unique integer! value referencing the ticket on the server. You can get it typically from a ticket list query (see above).
>> load http://curecode.org/rebol3/api.rsp?type=ticket&id=507
== [ok [
    summary: "test"
    description: "test"
    code: none
    version: "2.100.15"
    severity: "minor"
    status: "submitted"
    resolution: "open"
    priority: "normal"
    type: "Bug"
    platform: "All"
    created: 27-Jan-2009/10:28:24
    modified: 12-Apr-2009/1:08:18
    user: "admin"
    category: "n/a"
    reproduce: "Always"
    fixed-in: none
    project: "AltME"
    comments: none
    history: none
]]

Note: By default, comments and history are always none.

Optional parameters

  • show='''&lt;level>'''
&lt;level> is a word! value allowing to expand the ticket with additional informations. Allowed values are :
comments
provides all the comments attached to the requested ticket.
history
provides the whole history of the requested ticket.
all
combines the two other options (comments+history).
>> load http://curecode.org/rebol3/api.rsp?type=ticket&id=507&show=all
== [ok [
    summary: "test"
    description: "test"
    code: none
    version: "2.100.15"
    severity: "minor"
    status: "submitted"
    resolution: "open"
    priority: "normal"
    type: "Bug"
    platform: "All"
    created: 27-Jan-2009/10:28:24
    modified: 12-Apr-2009/1:08:18
    user: "admin"
    category: "n/a"
    reproduce: "Always"
    fixed-in: none
    project: "AltME"
    comments: [
        [1 "admin" 12-Apr-2009/1:08:18 "yes we can!"]
    ]
    history: [
        [12-Apr-2009/1:08:18 "admin" "Comment : 0000001" "Added" "-"]
        [27-Jan-2009/10:28:24 "admin" "Ticket " "Added" "-"]
    ]
]]

Change Log

CureCode 0.9.12 - 13/12/2010

  • FEAT: Added the ability to move tickets between projects.
  • FEAT: New search field: "User".
  • FEAT: New isolated search field: "Commented by".
  • FEAT: RSS feeds added for notifications of projects & tickets changes.
  • FEAT: Added short URLs for tickets direct referencing.
  • FIX: Double line breaks in PRE tags in comments removed.
  • FIX: Stats bar graphs were never displaying per-project stats.
  • FIX: Double escaping of HTML entities in description and comments removed.

CureCode 0.9.11 - 20/02/2010

  • FEAT: Custom captcha system replaced by ReCaptcha.
  • FEAT: Auto-adjusting scale for bar charts in stats (more accurate and readable).
  • FEAT: Category selector added in tickets list detailed view
  • FEAT: Empty attached file section not shown anymore in tickets read-only view.
  • FIX: When clicked, attached files will now show up in browser's window by default.
  • FIX: When attaching file in a new ticket, the returned attached filename was 'none'.

CureCode 0.9.10 - 17/01/2009

  • FEAT: Ticket's attached files management added.
  • FIX: Default query parameters corruption for anonymous users fixed.
  • FIX: Issue #1371 regarding policy for ticket deletion by owner.
  • FIX: Dimissed ticket can't be changed by the owner anymore.
  • FIX: Ordering not working properly for all filters and columns.
  • FIX: Minor missing translations for french catalog.
  • LOOK: Added Henrik's 33% fix for page header.
  • LOOK: "Example code" field now use PRE tag for better rendering of source code.

CureCode 0.9.9 - 26/07/2009

  • FEAT: Prefered filters and project can now be user-defined.
  • FEAT: Categories order can now be set by admin.
  • FIX: Stats charts are now correct.
  • FIX: Default filter in anonymous mode works now correctly.
  • FIX: Switched from HTML quirk mode to correct doctype.
  • LOOK: Fixed borders issues in CSS (except for IE8)

CureCode 0.9.8 - 26/05/2009

  • FEAT: "User" column added to tickets list page.
  • FEAT: Search text feature extended to comments.
  • FEAT: "Main" page now populated with statistics.
  • FEAT: New Preset filter: "My Reports" (default when logged)
  • FIX: "By Submitter" filter now working correctly.
  • FIX: Redirection issues with Chrome fixed.
  • FIX: In Preset mode, columns sorting links removed.
  • LOOK: Textarea edit fields now enlarged to maximum width.

CureCode 0.9.7 - 11/04/2009

  • FEAT: Dismissed tickets are now filtered out from "Active Priorities" and "Worst Severity" filters.
  • FEAT: Current project name added to "Add Ticket" form.
  • FEAT: Reversed sort order for Versions and Categories lists in admin page.
  • FEAT: Added an experimental API for getting tickets in Rebol format.
  • FIX: Front page stats now count "dismissed" tickets as closed.
  • FIX: Message "n ticket(s) found" fixed for localization, now translates correctly in french.

CureCode 0.9.6 - 21/01/2009

  • FEAT: Ticket submitter can now delete his ticket.
  • FEAT: Admin can now delete any ticket.
  • FEAT: Admin can now delete a user.
  • FEAT: Admin can now change user's role.
  • FEAT: Admin can now force validation of a new user's account.
  • FIX: Tickets list loading twice on first visit issue fixed.
  • LOOK: Input fields and buttons border width reduced to 1 pixel.

Migration Changelog

  • "Response" AltME Tracker field now mapped to a comment in CC (keeping the original response's date) rather than using the "Code Example" field.
  • There's no more data to migrate to CC from AltME, so the migration is considered finished (meaning that old tickets can now be changed safely in CC).

CureCode 0.9.5 - 05/12/2008

  • FEAT: Added Preset ticket list filters (from AltME Tracker)
  • FEAT: Added search ticket by text feature
  • FEAT: Added direct access to a ticket knowing its ID
  • FEAT: Filter zone in tickets list page redesigned to account for different filtering modes.
  • FEAT: Back and forward navigation now possible from inside a ticket.
  • FEAT: Ticket's ID in descriptions and comments now displayed as links.
  • FIX: Parsing URL in description/comments section will now stop on #"<".
  • FIX: CSS fixed for tables border rendering on non-IE browser.
  • FIX: Case-only changes in ticket's title are now possible.
  • LOOK: Minor positionning enhancements of login block in home page.
  • LOOK: "Description" and "Code example" sections default height reduced.

Migration Changelog

  • Ticket submitting users are now migrated too
  • Target projects list reduced to only one : "Rebol 3.0"
  • Fixed wrong tickets ID passed to 'add-log (for proper ticket's logs)

CureCode 0.9.4 Changelog

  • When session times out, user is redirected to login page.
  • Fixed the "Developer" access right level issues.
  • Admin/Developer users enter Ticket pages in edit mode directly.
  • Once logged in, users start at the ticket page list directly.
  • Several minor bug fixes

Todo-List (by priority)

  1. "View Tickets" custom and persistent filters (can survive to RSP sessions).
  2. API for external access :
    • allow ticket submission
    • add support for XML output
  3. Make the "Assigned to" field editable
  4. Rebol code formatting in code section
  5. Option for being permanently logged (permanent session cookie).
  6. In "All Projects" view, there should be a "Project" column.
  7. Improve the UI of the home page when logged.

Tasks done

  1. Define a backup procedure and find a backup server.
  2. Navigation buttons in Ticket page to walk back and forth in a filtered view.
  3. Add admin features :
    • Delete a project
    • Delete a user
    • Change user's role
  4. API for external access :
    • formats: Rebol, XML
    • access: simple HTTP API, REST
  5. Add an intro text + usage docs on home page for newcomers.

Categories/Community
Clone this wiki locally