Git Product home page Git Product logo

demo-cat's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

demo-cat's Issues

Cancel button used by Editable should revert to prior value

On a demo detail, the cancel button simply disables an Editable field. The value in its model has been updated to what the user entered. Cancel should revert back to the prior value. The value in the database is unchanged. A refresh of the page reverts the value back.

Keep mlRest generic

As (implicitly) suggested in pull request #36, might be a good idea to try to keep mlRest generic, and keep functional meaning in controllers. Makes mlRest much more easy to reuse in different project..

Should be applied to user profile, login, and logout as well. Maybe more? Check logic of controllers. profile, login, and logout are maybe best put in User data service..

Enable bug reporting

A user must be able to report a bug on a demo. Reporting will be done from the demo's detail page. Record the user who reported the bug. When the bug gets saved, send an email to the demo's maintainer. The form should include:

  • steps to recreate the bug
  • the browser in which the bug was seen

Record supported browsers

Right now the create form shows browsers, but they don't get recorded properly and they can't be edited.

Users should be able to pick from a list of browsers, in order to get canonical forms.

Display a project's features

Right now the create page lets you specify a set of features that a demo has. They are recorded correctly in the database, but they aren't displayed on the demo's detail page.

Update the detail page to display the list of features present in the demo.

Enable RFEs

Users must be able to request new features from a demo's detail page. Record and display what user requested the feature. When the feature request is saved, send an email to the demo's maintainer.

Feature filter throws error

http://localhost:9070/v1/search?format=json&options=all&structuredQuery=%7B%22query%22:%7B%22and-query%22:%7B%22queries%22:%5B%7B%22range-constraint-query%22:%7B%22constraint-name%22:%22feature%22,%22value%22:%5B%22Advanced+Search%22%5D%7D%7D,%7B%22range-constraint-query%22:%7B%22constraint-name%22:%22maintainer%22,%22value%22:%5B%5D%7D%7D,%7B%22term-query%22:%7B%22text%22:%22ml%22%7D%7D%5D%7D%7D%7D

returns

<rapi:error xmlns:rapi="http://marklogic.com/rest-api">
rapi:status-code500/rapi:status-code
rapi:statusINTERNAL ERROR/rapi:status
rapi:message-codeXDMP-UNBPRFX/rapi:message-code
rapi:message
XDMP-UNBPRFX: (err:XPST0081) Prefix jbasic has no namespace binding. See the MarkLogic server error log for further detail.
/rapi:message
/rapi:error

Wild guess: is jbasic used in search options perhaps?

Add a facet on domain

Needs to be added to create, search, detail, and edit. Initial domain set:

  • DoD
  • Intel
  • PS Civilian
  • PS Healthcare
  • Comm Healthcare
  • FinServ
  • Media

Allow users to type in additional values. A user must be able to select zero or more domains.

User info: email

After logging in, the upper-right shows the current user and an Account link. Clicking on the link goes to the /profile page. On the profile page, allow the user to specify one or more email addresses associated with his/her account. A user might have multiple, with one being an individual account and another being a group that the user is a part of.

Sign-up feature?

demo-cat users (having demo-cat-registered-role) now have to be created outside demo-cat. A sign-up feature would make that easier..

The application will need one or more application administrators, who can approve people signing up. During registration, collect an email address. Email the application administrator; if approved, send an email to the new user to verify the email address. Include a link that will activate the account. If all that works out, then create a MarkLogic-level user with application-appropriate roles.

Update README

Only top section is relevant to demo-cat, remainder is about roxy, which is mostly not very relevant.

Some hints about how to add/run tests etc would be nice as well. In the readme or on a wiki page in demo-cat..

Bug tracking: track assignments

A logged-in user must be able to change who a bug is assigned to. The control for doing so should look like the assignment control on GitHub, providing a text box to search users and a list to select from. The current user is to be at the top of the list, unless that user is filtered out by the current user search.

Improve the affordance of editing

The editable directive allows a user to click on a value, making it switch to an editable form. Improve the affordance by switching to a hover-invitation, showing an edit icon to the right of the field. Clicking the icon will switch to edit mode. Also change the cursor to pointer during hover.

Bug tracking: support changing status

Statuses:

  • open
  • accepted
  • resolved
  • closed

A user must be logged in to change this field. When it is changed, record who changed it, when it was changed, and the start and end statuses as part of the bug history.

Add feature to a demo

On the detail page, most information can be edited by clicking. Add a button to the feature display section that lets a user add a feature. On clicking the button, enable a mode similar to how features are added on the create page, where they can be added from a drop-down or typed in.

Changing the status of a bug is broken

Try to close a bug. Error message:

Error: invalid json
    at parse (/space/projects/demo-cat/node_modules/body-parser/index.js:61:15)
    at /space/projects/demo-cat/node_modules/body-parser/index.js:180:18
    at IncomingMessage.onEnd (/space/projects/demo-cat/node_modules/body-parser/node_modules/raw-body/index.js:117:7)
    at IncomingMessage.g (events.js:180:16)
    at IncomingMessage.EventEmitter.emit (events.js:117:20)
    at _stream_readable.js:920:16
    at process._tickCallback (node.js:415:13)

As a user, I want to see a list of tickets assigned to me

Provide a "My Tickets" link next to the Accounts link. Clicking the link will display a view with any tickets (bugs/RFEs) assigned to the current user. The list must include the tickets' title, the project, and the current status.

Allow the user to select which statuses he/she wants to see (multi-select: perhaps a drop-menu with check boxes).

Email not flushed at logout

Some profile details remain in memory at logout, and appear as profile details of other user at login if that person doesn't have a profile yet.

Username with hyphen triggers error

On attempting to submit a new user profile, a user with a hyphen in the username will get an error:

SyntaxError: Invalid regular expression: //users/[^(demo-cat-user)]+.json/: Range out of order in character class
  at new RegExp (<anonymous>)
  at Object.handle (/Users/dcassel/git/demo-cat/server.js:177:27)

Need to properly escape hyphens.

Check which users can login..

Deny default-user for starters, and maybe check for rest-writer role presence. Or even better: for the demo-cat-registered-user role..

Use a CDN

For JavaScript, CSS, and other files available from CDNs, use CDNs to improve load time.

Enable commenting

Users must be able to leave comments on a demo's detail page. Display most recent comments first. The comment should record who left the comment and when.

Features list needs to be dynamic

We started off with a hard-coded list of features, but that needs to be changed such that the list available on the create and edit views get supplemented when users type in new values.

Add link editing

Currently, you can't edit the "Hosted at" link or the maintainer's email link. Enhance the editable directive to handle displaying links.

Cleanup the bug list

The bug list for a demo is getting cluttered now that it contains 5 fields. Spruce up the styling to better delineate fields and make it more readable. Update both open and closed bugs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.