Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Are corpora/diaries fundamental ? #60

Closed
2 of 3 tasks
christophe-lejeune opened this issue May 10, 2016 · 8 comments
Closed
2 of 3 tasks

Are corpora/diaries fundamental ? #60

christophe-lejeune opened this issue May 10, 2016 · 8 comments

Comments

@christophe-lejeune
Copy link
Member

christophe-lejeune commented May 10, 2016

In brief

This discussion suggests to develop the following features/fixes :

  • The name of one diary is distinct from its id.
  • Easily renaming a diary.
  • Renaming a diary from any page.

Introducing the issue

Hypertopic model did not originally requires corpora. However, subsequent developments made interesting uses of corpora.

  • Steatite stores picture files under corpora. Corpus is however not mandatory, given a unsorted pictures are listed under Miscellanea emulated-corpus.
  • Former versions of Cassandre makes use of corpora to store text files. Al tough texts are stores in a database, the server emulates directory-like folders. This behaviour presents practical consequences :
    • In order to upload a text, the user is asked to declare a folder. Experience showed that users barely respect suggested rules in this matter.
    • Corpus are included in the item's URI. Currently, University of Liege is using this feature in order to filter corpus URI and/or provide customized access.

Next version of Cassandre inherits the former corpus design. However, given next version will be based on diaries, emulated folders will stand for diaries (rather than corpus). Consequences are, once again, contrasted.

  • Advantage. Given that each memo's URI includes a diary name, user access can be easily managed from outside Cassandre server (as done by University of Liège)
  • Drawback. Cassandre development have to consider that users choose their own diary's name. Natural language specificities have thus to be (URL)encoded in order for the URL to remain efficient (how unexpected the diary name could be). In some cases (namely, the KWIC feature), this could become tricky, given some URLs are rewritten by Apache, by a PHP script and by CouchDB.
  • Drawback. This behaviour forces each memo to belong to a diary/corpus. Such a requirement sounds artificial, for two reasons:
    • When a user write down a reflection, (s)he is not necessarily aware (yet) of the research/corpus this memo is likely to contribute in the future.
    • A memo could contribute different researches at the same time.

What precedes advocates for the deletion of the corpus in the URI path. However, this would imply that next version of the server would not be released until user management could be fully integrated into Cassandre. I am afraid this option may compromised any release for a while.

@benel
Copy link
Member

benel commented May 10, 2016

Cassandre development have to consider that users choose their own diary's name. Natural language specificities have thus to be (URL)encoded in order for the URL to remain efficient (how unexpected the diary name could be).

In case it would help: the Hypertopic specification allows the corpus ID to be different from its name. For instance, this feature is implemented in Argos.

@christophe-lejeune
Copy link
Member Author

christophe-lejeune commented May 10, 2016

Thanks Aurélien. Of course, this helps ! Partially, at least.

With an ID distinct from name, corpus/diary can be renamed without affecting all memos belonging to it.

Following features are added to the summary, above the discussion :

  • Distinct diary name and id.
  • User can modify diary name at any moment.

Remaining issues would be the following :

  • Could we get rid of name of the corpus/diary in URIs ? What consequences could be foreshadowed?
  • Is it a good idea to get rid of such an easy workaround to deal with users access ?
  • Ideally, how should users access be dealt with

christophe-lejeune added a commit that referenced this issue Jun 24, 2016
This includes a minor fix concerning comment placeHolder.
@christophe-lejeune
Copy link
Member Author

christophe-lejeune commented Jun 27, 2016

An issue related to AAAforREST answered the last questions : URIs require diary names in order for us to grant access according users.

Since the last commit, id and name of a diary are distinct, which will make easier to rename diaries. From a user interface concern, where should such a feature be proposed ? In the diary panel (see mock-up) or elsewhere ?

@benel
Copy link
Member

benel commented Jun 28, 2016

rename diaries. From a user interface concern, where should such a feature be proposed ? In the diary panel (see mock-up) or elsewhere ?

Generally speaking, renaming can happen anywhere the name is displayed: either as an item in a list or in the object screen itself.

From a theoretical aspect, I would say that it should be in the list, since "naming" is distinguishing from others. However, we did that in Agorae, and people often look for the feature in the object screen. So I suppose it would be better to provide both.

@christophe-lejeune
Copy link
Member Author

christophe-lejeune commented Jun 29, 2016

Thank you very much for your answer !

Henceforth, diaries may be renamed from their object screen. Once the feature will be fully tested, it will be easy to provide it for diaries listed together.

Knowing the diary name is mentioned on (almost) all pages of the server, do you suggest that diary should be renamed from any page ?

@benel
Copy link
Member

benel commented Jun 29, 2016

Knowing the diary name is mentioned on (almost) all pages of the server, do you suggest that diary should be renamed from any page ?

Probably not. Let's stick with just the diary screen, and the list of diaries.

@christophe-lejeune
Copy link
Member Author

Being unused, the diary/corpus id is henceforth removed from memo, diagram, table and graph URIs. This removal leads to shorter URIs. With these flatter URLs, most of the pages have the same deepness. This harmonized design facilitates the generation of relative paths.

@christophe-lejeune
Copy link
Member Author

To prevent errors if older URI's are used, the following redirections could be inserted in the nginx configuration file

rewrite ^/(memo|diagram|table|graph)/\w*/(\w+)/?$ /$1/$2 redirect;
rewrite ^/memo/?$ /diary/ redirect;

Combined with commit 34de766 these rules provides a transitional feature and prevent users disorientation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants