MVC ToDo List

A suggested ALPS profile for the popular MVCTodo project

Links

Semantic Descriptors

add

id type title
title semantic
completed semantic

clearCompleted

id type title
id semantic

completed

edit

id type title
id semantic
title semantic
completed semantic

goFirst

goHome

goLast

goNext

goPrevious

goRelated

Home

id type title
listAll safe
goRelated safe

id

listActive

listAll

listCompleted

markCompleted

id type title
id semantic

read

id type title
id semantic

Related

id type title
goHome safe
listAll safe
listActive safe
listCompleted safe
read safe
add unsafe
edit idempotent
remove idempotent

remove

id type title
id semantic

title

TodoItem

id type title
id semantic
title semantic
completed semantic
listAll safe
goRelated safe
edit idempotent
remove idempotent
markCompleted idempotent
clearCompleted idempotent

TodoList

id type title
id semantic
title semantic
completed semantic
read safe
listAll safe
listActive safe
listCompleted safe
goFirst safe
goNext safe
goPrevious safe
goLast safe
goHome safe
goRelated safe
add unsafe

Profile

{
  "$schema":"https://alps-io.github.io/schemas/alps.json",
  "alps" : {
    "version":"1.0",
    "title":"MVC ToDo List",
    "doc" : { "value":"A suggested ALPS profile for the popular MVCTodo project"},
    "link" : {"rel":"help", "href":"https://github.com/tastejs/todomvc/blob/master/app-spec.md"},
    "descriptor":[
      {"id":"id", "type":"semantic", "def":"http://schema.org/identifier"},
      {"id":"title", "type":"semantic", "def":"http://schema.org/title"},
      {"id":"completed", "type":"semantic", "def":"http://mamund.site44.com/alps/def/completed.txt"},

      {"id":"Home", "type":"semantic", "descriptor": [
        {"href":"#listAll"},
        {"href":"#goRelated"}
      ]},
      {"id":"Related", "type":"semantic", "def":"https://tools.ietf.org/html/rfc4287#section-7.1", "descriptor":[
        {"href":"#goHome"},
        {"href":"#listAll"},
        {"href":"#listActive"},
        {"href":"#listCompleted"},
        {"href":"#read"},
        {"href":"#add"},
        {"href":"#edit"},
        {"href":"#remove"}
      ]},
      {"id":"TodoList", "type":"semantic", "descriptor":[
        {"href":"#id"},
        {"href":"#title"},
        {"href":"#completed"},
        {"href":"#read"},
        {"href":"#add"},
        {"href":"#listAll"},
        {"href":"#listActive"}, 
        {"href":"#listCompleted"},
        {"href":"#goFirst"},
        {"href":"#goNext"}, 
        {"href":"#goPrevious"},
        {"href":"#goLast"},
        {"href":"#goHome"}, 
        {"href":"#goRelated"}
      ]
      },
      {"id":"TodoItem", "type":"semantic", "descriptor":[
        {"href":"#id"},
        {"href":"#title"},
        {"href":"#completed"},
        {"href":"#listAll"},
        {"href":"#edit"},
        {"href":"#remove"},
        {"href":"#markCompleted"},
        {"href":"#clearCompleted"}, 
        {"href":"#goRelated"}
      ]},

      {"id":"goHome", "type":"safe", "rt":"#Home"},
      {"id":"goRelated", "type":"safe", "rt":"#Related"},
      {"id":"goFirst", "type":"safe", "rt":"#TodoList"},
      {"id":"goPrevious", "type":"safe", "rt":"#TodoList"},
      {"id":"goNext", "type":"safe", "rt":"#TodoList"},
      {"id":"goLast", "type":"safe", "rt":"#TodoList"},
      {"id":"listAll", "type":"safe", "rt":"#TodoList"},
      {"id":"listActive", "type":"safe", "rt":"#TodoList"},
      {"id":"listCompleted", "type":"safe", "rt":"#TodoList"},
      {"id":"read", "type":"safe", "rt":"#TodoItem", "descriptor": [{"href":"#id"}]},
      {"id":"add", "type":"unsafe", "rt":"#TodoItem", "descriptor": [
        {"href":"#title"}, 
        {"href":"#completed"}
      ]},
      {"id":"edit", "type":"idempotent", "rt":"#TodoItem", "descriptor": [
        {"href":"#id"},
        {"href":"#title"}, 
        {"href":"#completed"}
      ]},
      {"id":"remove", "type":"idempotent", "rt":"#TodoList", "descriptor": [
        {"href":"#id"}
      ]},
      {"id":"markCompleted", "type":"idempotent", "rt":"#TodoItem", "descriptor": [
        {"href":"#id"}
      ]},
      {"id":"clearCompleted", "type":"idempotent", "rt":"#TodoItem", "descriptor": [
        {"href":"#id"}
      ]}
    ]
  }
}