Giter VIP home page Giter VIP logo

solid-comment's Issues

How to overwrite ACL

Currently when the agent logs in and posts a comment, without having given the application control access mode it does not overwrite the ACLs and therefore cannot set them to the correct access permissions and thus they cannot be pulled from the pod.

Add missing reference to Indico if more comments exist?

Should this module (or rather Indico) check and synchronize the references that Indico holds to the comments? When a comment is saved to the pod, but there is a problem with the creation of the reference to it in Indico.

Evaluate application

To-do

  • Write integration tests
    • Deletion of comments
    • From pod
    • From interface
    • From Indico?
  • Write unit tests
  • Perfomance
    • Caching?
  • Security
    • Confidentiality
    • Integrity
    • Availability
    • Think of how to make URL to comment for private event truly random and not guessable.

Questions

  • How do I mock a pod locally/in test?
  • How do I test performance? I can reason about it: a request per comment etc.

Load and render individual comments

This would mean the comments are not depended on each other and they can be all added asynchronously. This would make the performance of the module better as the different pod hosts will have different latencies.

Change to container ACL describing the permissions for its resources

Currently, all resources get a dedicated ACL file, this can be changed to the following to enable the same functionality.

World read on container resources:

@prefix acl: <http://www.w3.org/ns/auth/acl#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix target: <./>.

:ReadDefault
    a acl:Authorization;
    acl:default target:;
    acl:agentClass foaf:Agent;
    acl:mode acl:Read.

:ReadWriteControl
    a acl:Authorization;
    acl:accessTo target:;
    acl:default target:;
    acl:agent </profile/card#me>;
    acl:mode acl:Read, acl:Write, acl:Control.

Times on comment differ

When a new comment is created by submission the generated time differs to the received time when fetching the comment from the pod later on

20210325T100058487Z.ttl

becomes

20210325T100058000Z.ttl

Integrate with Indico

For the integration with Indico one thing is still needed, which is the persistence layer within Indico to store the references to the pods.
As a temporary solution the EventSettingsProxy can be used.
The event_core_settings is probably a good candidate to be enriched.

Deleting comment reference in Indico

It is not possible to delete the reference in Indico.
We do not do any authentication/authorization against Indico, therefore, it is not possible to delete the reference that is kept with Indico. If the DELETE does not require authentication, everyone can obviously just delete comments.

Solution: keep the reference in Indico and render (as already implemented) the “Comment is unavailable” message. We could even hide all deleted comments from the currently logged in author …

Sorting breaks when comment unavailable

Extract time from comment file name and add to the comment object.
Careful, because then the comment object is not empty anymore and the rendering of the empty comment HTML needs to be caught differently.

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.