Giter VIP home page Giter VIP logo

callimachus's People

Contributors

abcoates avatar catch-point avatar edwardsph avatar lukeruth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

callimachus's Issues

Add dcterms:created to default resource create template

Alter webapps/pages/sample-create.xhtml to include a hidden input field that stores the date a resource was created in Callimachus. Use JS .Date() to populate the field. The RDF property for the input should be dcterms:created.

In the case that a resource already stores it's own metadata (PDFs) we should default to that rather than overwriting.

redefine prefixes in sparql query produces error

When sending a query to callimachus' sparql endpoint that defines common prefixes such as RDFS, callimachus returns an error

org.openrdf.query.MalformedQueryException: Multiple prefix declarations for prefix 'rdfs'

It would be better to assume that the redefined predicate overrides the default, since (1) it is hard to know which prefixes are already defined (it seems for example that FOAF is not) and (2) eventually a user may want to redefine it un purpose.

Serve and store ZIP and JAR files

Callimachus can import CAR files. Adding support to serve ZIP, JAR, and CAR files as-is will provide the ability to upload compact JAR and other binary artifacts.

Empty table cells are omitted in form template

With some data where an rdfs:label is not always available a table of rows with 2 cells: one for the optional label and the other for the URI.

    <table>
        <tr rel="rdfs:isDefinedBy" resource="?link">
            <td>{rdfs:label}&#160;</td>
            <td><a class="diverted" href="?link">{?link}</a></td>
        </tr>
    </table>

The first cell does not get rendered at all if the label does not exist. Even putting the nbsp ( ) in the cell does not help

            <td><span property="rdfs:label"/>&#160;</td>
            <td><span>{rdfs:label}&#160;</span></td>
            <td><span>{rdfs:label}</span>&#160;</td>

But none of them work – the is dropped whatever I do

When @property is on element with @rel/@resource its presence is required

The following markup fails if a concept in /scheme/mediums/ has no prefLabel

<div xmlns:dcterms="http://purl.org/dc/terms/">
<label for="medium">Medium</label>
<select id="medium" rel="dcterms:medium">
  <option selected="selected" about="?concept" rev="calli:hasComponent" resource="/scheme/mediums/" property="skos:prefLabel" />
</select>
</div>

The produced SPARQL puts the skos:prefLabel in a nested OPTIONAL blocks. However, the prefLabel property, in this case, must be bound to produce an option element.

XHTML automatic indent feature

It would be nice that Callimachus framework would beautify XHTML when saved.

For example, after written and copy pasted a lot of XHTML to the view it would be useful to see this ungly XHTML indented nicely when saved.

General UX/UI issues

Drag and drop files within Callimachus
Password confirmation on user create and edit

Single required relationship on related resource causes empty result

When using markup like the following the first relationships becomes required for the rest of the document.

<label class="input" rel="msg:realm" resource="?realm">
  <input type="radio" name="realm" checked="checked" />
  <span rel="rdf:type" resource="/callimachus/Manifest">Protected</span>
</label>

The produced SPARQL does not close the ?realm resource scope until the end of the query, as show here. The ?reader variable should not be nested in the ?realm block.

 UNION
 {
  ?this msg:realm ?realm .
  ?realm a </callimachus/Manifest> .
  OPTIONAL {
  }
  OPTIONAL {
   {
    ?this calli:reader ?reader .
    ?reader a calli:Party .
    OPTIONAL {
     {
      ?this calli:reader ?reader .
      OPTIONAL {
       ?reader rdfs:label ?_reader_label .
      }
     }
    }
   }
   UNION

Adding an optional pattern (such as rdfs:label) to the ?realm resource corrects the block nesting, but should not be required.

Similar things can happen when constructing a dynamic dropzone. Drag/upload a photo in the dropzone below will not link to the image, but if the img tag has a title="{rdfs:label}" it will work.

    <form id="form" method="POST" action="" enctype="application/sparql-update" about="?this">
        <div dropzone="link s:text/uri-list">
            <label>Photo <a href="?create=/callimachus/Photo" onclick="return calli.createResource(this)" class="ui-icon ui-icon-newwin"/></label>
            <div rel="foaf:img">
                <span about="?img" typeof="foaf:Image" class="ui-state-highlight ui-corner-all">
                    <img src="{?img}?small" />
                    <a href="{?img}" onclick="return calli.removeResource(this)" class="ui-icon ui-icon-close" />
                </span>
            </div>
        </div>
        <button type="submit">Save</button>
        <button type="button" onclick="location.replace('?view')">Cancel</button>
    </form>

Template Engine Can't handle @rel nested in @property

To show only related resources if a property exists should be done like this.

    <tbody rel="tri:released_to" resource="?released">
        <tr property="tri:amount_in_pounds" content="?amount">
            <td><span>{?amount} lbs</span></td>
            <td><span rel="tri:environmental_medium ">{rdfs:label}</span></td>
            <td><span rel="tri:release_basis_estimate">{rdfs:label}</span></td>
        </tr>
    </tbody>

However, that produces the SPARQL below, when the amount_in_pounds is not matched and the nested resources are, the template engine gets messed up and can't continue. This happens because the SPARQL results are inconsistent with the template markup.

 {
  ?this tri:released_to ?released .
  OPTIONAL {
   {
    ?released tri:amount_in_pounds ?amount .
   }
   UNION
   {
    ?released tri:environmental_medium ?_released_environmental_medium .
    OPTIONAL {
     ?_released_environmental_medium rdfs:label ?_released_environmental_medium_label .
    }
   }
   UNION
   {
    ?released tri:release_basis_estimate ?_released_release_basis_estimate .
    OPTIONAL {
     ?_released_release_basis_estimate rdfs:label ?_released_release_basis_estimate_label .
    }
   }
  }
 }

The nested @rel should be in an OPTIONAL from the @Property.

Empty Property Expression Removes Element

When a property expression is in an attribute like value="{rdf:value}", but there is no rdf:value in the RDF store, the containing element should still be printed with an empty attribute value.

For example the markup:

<input placeholder="Street address" value="{vcard:street-address}" />
<input placeholder="Extended address" value="{vcard:extended-address}" />
<input placeholder="PO box" value="{vcard:post-office-box}" />

..would either show all three input elements or none of them (if the subject resource did not match) regardless of the property values in the RDF store.

This can be demonstrated using the directory sample app in the edit tab.

Non-descriptive Error Code Returned by Xproc

When there is an error in the XProc Pipeline an error code that looks similar to "XD0001" will be returned.

In this example it should be changed to:

"Dynamic Error (err:XD0001): A non-XML resource was produced on a step output or arrived on a step input."

per the spec (http://www.w3.org/TR/xproc/) which will make the error much more descriptive and useful to the user.

Self Linking

Forms with resources that link back to self may not work. This can be see when changing the permissions of a user or group to include a self reference back to this user or group.

Should Remove Ampersands in folder names on creation

Pete E. reported:

[[
I created a folder called “d&isf” – I was concerned about the ampersand but it let me create the folder. I was then able to create pages and named queries in that folder and link to them. But, now I have created a class in it, I can’t create any resources – it seems the & is a problem. I had to re-import the folder with the name “disf” and fix links – now it all works.

Perhaps you could add validation to folder creation to prevent this.
]]

Reported on Callimachus Enterprise 0.17. Should apply to 0.17 tree.

Error saving list content in WYMEditor

There is a nasty little bug in the WYMEditor:

  1. Create an Article and add some content and save the file.
  2. Edit the file and add some paragraphs and a bulleted list to the bottom of the content. Do not hit 'Enter' after the last list item; the list item should be the last thing in the file.
  3. Save the file. It should save without error.
  4. Note that your edits have not been saved.

NB: The workaround to this bug is to hit 'Enter' twice after the last list item, thus creating an empty paragraph tag below the list.

JavaScript problem

What steps will reproduce the problem?

Example this simple template:

<?xml version="1.0" encoding="UTF-8" ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Title Here</title>
    <link rel="edit-form" href="?edit" />
    <link rel="describedby" href="?describe" />
    <script>
        var a = {anything:["what"]};
    </script>
</head>
<body>
    <h1>Title Here</h1>
</body>
</html>

What is the expected output? What do you see instead?

Callimachus will return the JavaScript on the page like this:

    <script>
        var a = ;
    </script>

What version of the product are you using? On what operating system?

Callimachus 1.0,
Debian 2.6.32-5-amd64
java version "1.6.0_37"

Please provide any additional information below.

Of course, one can add spaces and var a = {anything: ["what"]}; will work.

Keep track of activities

This is a feature request to facilitate the traceability of transactions in distributed systems. During the Callimachus Day on February 19th, we discussed several solutions:

[10:23] <prototypo> QuentinReul, the only way I can think your request could be met would be for clients to provide a custom HTTP header to inform Callimachus that multiple requests are part of the same out-of-band transaction and for Callimachus to respect that header when it generates its provenance information.

[10:23] <prototypo> There would need to be some way for clients to group independent operations into a user-defined group of Callimachus transactions.

[10:37] <prototypo> So, either we could take my earlier approach of having a client group transactions by passing an id, or we could have Callimachus proactively return a provenance URI so clients could keep track themselves.

[10:37] <prototypo> I have a weak preference for the latter, I think.

[10:37] <QuentinReul> I prefer the former as we do not have to keep mappings, but either solution is fine

This is from Quentin R. Please email him when accepted and scheduled.

Upgrade to Bootstrap 3

Callimachus uses the Open Source framework Bootstrap for theming. Adding support for Bootstrap 3 will provide more responsive themes with mobile support.

Respect language tags

What steps will reproduce the problem?

  1. Add data with multiple language tags (e.g. rdfs:labels in French and English)
  2. Create view, edit and/or create templates
  3. Note that Callimachus does not differentiate strings with language tags, resulting in duplicate entries in template elements such as input fields.

What is the expected output? What do you see instead?
Literals with different language tags should be treated as different elements. The template language should allow specification of one or more languages to display.

This feature is needed by international customers of 3RS and is also needed by users in (e.g.) Canada.

Callimachus should provide a built-in issues-tracker function for applications

What steps will reproduce the problem?

  • No clear way to provide feedback on applications built using Callimachus (consider the Community Directory example)
  • This applies to both application issues and Callimachus issues

What is the expected output? What do you see instead?

  • I'd like to be able to report issues from the context of applications

What version of the product are you using? On what operating system?

  • Unclear --- no clear way to tell callimachus version from the running app

Please provide any additional information below.

  • n/a

SPARQL Query UI does not work after browser's back button in Firefox

What steps will reproduce the problem?

  1. Execute a sparql query
  2. Use back button in Firefox browser

What is the expected output? What do you see instead?
-I was assuming that I could execute a new query, but "Evaluate Query" button does not work after this.

What version of the product are you using? On what operating system?
-callimachus-0.17-rc-6
-Linux 2.6.32-220.13.1.el6.x86_64 x86_64 x86_64 x86_64 GNU/Linux

Please provide any additional information below.
-My Firefox is 13.0.1 (Mozilla Firefox for Ubuntu canonical)

Main Article Concatenated during 1.0 Upgrade

What steps will reproduce the problem?

  1. Upgrade a Callimachus from 0.17 to 1.0 with a main article in a non-standard location
  2. Note that the old main article is now appended after a space to the default main article location in the edit template of the home folder.

What is the expected output? What do you see instead?
An existing main article location should overwrite the default location.

Reuse of variable names in Callimachus Templates require warning

What steps will reproduce the problem?

  1. Editing a view template
  2. Use the same name for two different variables in different blocks throughout the view template. For example, resource="?facility" in two separate blocks is not treated as two different variables.

What is the expected output? What do you see instead?
Causes inconsistent results when navigating through and following links because two resources are identified with the same variable name

SQL Datasources

Callimachus uses embedded RDF datasources to persist state. Adding support for SQL Datasources, using JDBC, will allow for more efficient access for some data structures.

Provide roll-back support through API

This a feature request to be able to roll-back an activity through the Callimachus API. One approach would be to pass the activity URI as a parameter and undo the changes associated with that activity.

[10:39] <QuentinReul> does the Callimachus API provides something to do this based on the activity URI?

[10:40] <prototypo> Not yet, but as you can see we are preparing for it sometime in the future.

[10:41] <QuentinReul> how could we perform roll-back in the current version?

[10:42] <prototypo> Currently, clients would need to track their own state for a rollback.

{} syntax infers with sorted views

What steps will reproduce the problem?

  1. Create a sorted view in accordance with http://callimachusproject.org/docs/1.2/callimachus-for-web-developers.docbook?view#Sorted_View
  2. This syntax will create a list with correct sorting:
<ul class="sorted">
           <li rel="sheoTodo:visit" resource="?visit"><span property="sheoTodo:dateAdmitted" class="view asc"/> - <span property="sheoTodo:treatedAt"/></li>
</ul>
  1. However, this syntax will cause doubling of the
  2. elements with the sheoTodo:treatedAt properties first and the sorted sheoTodo:dateAdmitted properties following:
<ul class="sorted">
           <li rel="sheoTodo:visit" resource="?visit"><span property="sheoTodo:dateAdmitted" class="view asc"/> - {sheoTodo:treatedAt}</li>
</ul>

What is the expected output? What do you see instead?
The syntax provided in #2 and #3 should provide identical output.

Minor update: The output of #2 and #3 should be "visually identical" not "syntactically or semantically identical".

Callimachus Requires Protocol Configuration to Support HTTPS Proxying

What steps will reproduce the problem?

  1. Use Apache to proxy a Callimachus instance.
  2. Configure Apache to use HTTPS (TLS/SSL).
  3. Use the Apache ProxyPreserveHost Directive to pass the authority name to Callimachus.
  4. Callimachus will not respect the authority because HTTPS is a different protocol than HTTP.

What is the expected output? What do you see instead?
Callimachus configuration (etc/callimachus.conf) should allow configuration of the protocol as part of the authority.

This is a feature request submitted by a user via IRC (juancoda).

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.