GithubHelp home page GithubHelp logo

hypertopic / porphyry Goto Github PK

View Code? Open in Web Editor NEW
21.0 9.0 165.0 3.73 MB

Corpus analyses confrontation

Home Page: https://hypertopic.org/porphyry

License: GNU Affero General Public License v3.0

HTML 0.74% CSS 5.62% JavaScript 71.18% Gherkin 14.29% Ruby 8.17%
qualitative-analysis knowledge-management digital-humanities

porphyry's Introduction

PORPHYRY – Corpus analyses confrontation

Contact: [email protected]

Home page: https://github.com/Hypertopic/Porphyry

How to test the development version

Requirements:

  • git
  • curl
  • wget
  • node and npm
  • docker and docker-compose

Install and start backend with test data

wget -qO- "https://github.com/Hypertopic/Argos/archive/v4.tar.gz" | tar xvz
cd Argos-4
docker-compose up -d
cd ..

Argos is now available at http://localhost/

Create test user

curl --silent -X PUT localhost:5984/_users
curl --silent -X PUT localhost:5984/_users/org.couchdb.user:alice -H 'Accept:application/json' -H 'Content-Type:application/json' -d '{"name":"alice", "password":"whiterabbit", "roles":[], "type":"user"}'

Install and start frontend

git clone https://github.com/Hypertopic/Porphyry.git
cd Porphyry
npm install
npm start

Porphyry is now available at http://localhost:3000/ Please note that the terminal is devoted to the process until it is canceled.

Install test tools

Add this function to your profile:

function cucumber() {
  (docker run --rm -v "$(pwd)":/app --tty --net="host" --env APP_HOST="http://host.docker.internal:3000" benel/cucumber-capybara "$@")
}

Type the following command:

cucumber --help

Run tests

From the Porphyry folder:

cucumber --fail-fast --quiet

How to enable plugins

Enable comments

  1. Sign up to Disqus,
  2. Choose Install Disqus on my site,
  3. Set your Website data and create site. Remember its short name.
  4. Edit public/config.yml and paste the short name as the value of disqus setting.

Enable world map

  1. Sign up to GoogleMaps,
  2. Create an API key to be used with geocoding and dynamic map services
  3. Edit public/config.yml and paste the API key as the value of map/key setting,
  4. If necessary, switch geocoding API URI from GoogleMaps to GeoXene.
  5. If necessary, add layers (vases is here the ID of the portfolio):
  portfolio:
    vases:
      layers:
        - uri: https://steatite.utt.fr/picture/405e66c63060b595c02e6590a8f6abbda104cb03
          bounds:
            south: 37.977910
            west: 23.718200
            north: 37.978780
            east: 23.719010
        - uri: https://steatite.utt.fr/picture/78e81db6ee77decd3e40cf3124c04a6aaaaa2fc4
          bounds:
            south: 37.97862453543905
            west: 23.716649743986387
            north: 37.978755
            east: 23.716789

Enable building maps

Edit public/config.yml and add:

portfolio:
  vitraux:
    visitMap: true

where vitraux is the ID of your portfolio.

porphyry's People

Contributors

albertelombo avatar antoineprudhomme5 avatar benel avatar caramella-ice avatar ceyfun avatar corentinlthr avatar couapy avatar dariasegalard avatar dylanbonelli avatar florianess avatar franck-eyraud avatar gnoxr avatar heliamagnan avatar jacquesmironneau avatar jbaptisteblot avatar josephnm avatar kryddd avatar louisvhz avatar lucasjeanpierre avatar matthieudufon avatar maxime-huyghe avatar maximedrml avatar nhuchon avatar pinksea avatar quentin-utt avatar rooooose avatar samnoel95 avatar sorelmboua avatar thang-long avatar yuanjiafang avatar

Stargazers

 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

porphyry's Issues

Java 7 cache problem

When used with Java 7, Porphyry returns errors message such as java.lang.RuntimeException: java.lang.NullPointerException
Those messages occurs namely when the user tries to connect to a (Dolomite) password-protected Cassandre server.

When the console is open, a complementary message gives :
CacheEntry : updateAvailable=false,lastModified=Wed Nov 25 11:12:25 CET 2009,length=-1

Assign a topic to an item from a personal viewpoint

Description

What is the valuable outcome that cannot be achieved with current features?

For which stakeholder (people, role, project, domain) is it important?

Which user action should be enabled (or restricted)? For who?

Prerequisite: being logged in.

Additional details (solutions you think about, or workarounds you tried)

Deliverables status

Phase 1

  • Scenarios (Gherkin)
  • Mockups
  • Implementation strategy

Phase 2

  • Acceptance tests (Capybara)
  • Implementation

Phase 3

  • Screencast

Comment (or share with friends) an item

  • Scénarios
  • Maquettes
  • Tests automatisés
  • Implémentation

with discussion threads, links to sources, and maybe uploaded documents.

While a bit too much "post-modern" for science, comments could be "liked" by peers.

Comments could also be shared optionally on social networks to get visibility on one's work. This would also benefit the platform by dragging in additional contributors.

As an example of APIs that could be developed or integrated, here are:

Create a child to a topic

as

easily as in an outliner.

Prerequisite: #42.

  • Scénarios (Fangxu)
  • Maquettes
  • Tests automatisés
  • Implémentation

Rename a topic

as easily as in an outliner

  • Scénarios (Jie JI)
  • Maquettes (Ruolin ZHENG)
  • Tests automatisés
  • Implémentation

Update an item's attribute

  • Scénarios (Meng Ruolin Fangxu)
  • Maquettes (David Lorraine Yuanjia)
  • Tests automatisés (Jie)
  • Implémentation (Ruolin Fangxu)

Given an attribute `a:X` (including `corpus`), set another attribute `b:Y` to every matching item

Description

What is the valuable outcome that cannot be achieved with current features?

For which stakeholder (people, role, project, domain) is it important?

Which user action should be enabled (or restricted)? For who?

Additional details (solutions you think about, or workarounds you tried)

Deliverables status

Phase 1

  • Scenarios (Gherkin)
  • Mockups
  • Implementation strategy

Phase 2

  • Acceptance tests (Capybara)
  • Implementation

Phase 3

  • Screencast

Unset an item's attribute

  • Scénarios (Meng Ruolin Fangxu)
  • Maquettes (David Lorraine Yuanjia)
  • Tests automatisés (Ruolin Fangxu)
  • Implémentation(Yuanjia)

Corpus browsing

... with selecting and displaying/counting of attributes values.

Cache problem

I think you will need to clear the cache in HTTP PUT/POST/DELETE methods.

For example, when you issued a PUT request to modify a viewpoint on CouchDB, then you try to get this viewpoint immediately, you still will get the old data from cache if your listener cannot get the notification from CouchDB in time.

Single instance application

To comply with Apple Look and Feel, launching Porphyry when it is already on, should not start another instance but use the first one instead.

N.B. This was already done in Porphyry v5. However this can be done more easily with Java 6 API (javax.jnlp.ServiceManager, SingleInstanceListener, and SingleInstanceService).

Get similar items according to an item's attribute value

Similarly to what is done on topics, you could click on an attribute value and open the portfolio page in which every item with this value would be selected (#158) or sorted (#38) (the designers should choose either of the prerequisites).

Phase 1

  • Scenarios (Gherkin)
  • Mockups
  • Implementation strategy

Phase 2

  • Acceptance tests (Capybara)
  • Implementation

Set an item's attribute

  • Scénarios (Meng)
  • Maquettes (David Lorraine Yuanjia)
  • Tests automatisés(Meng)
  • Implémentation (Lorraine)

Move as a subtopic

  • Scénarios (Fangxu)
  • Maquettes (Yuanjia)
  • Tests automatisés
  • Implémentation

Browse items (or fragments) from personal viewpoints

Description

What is the valuable outcome that cannot be achieved with current features?

For which stakeholder (people, role, project, domain) is it important?

Which user action should be enabled (or restricted)? For who?

Additional details (solutions you think about, or workarounds you tried)

Deliverables status

Phase 1

  • Scenarios (Gherkin)
  • Mockups
  • Implementation strategy

Phase 2

  • Acceptance tests (Capybara)
  • Implementation

Phase 3

  • Screencast

Switch to fragments mode

Description

What is the valuable outcome that cannot be achieved with current features?

For which stakeholder (people, role, project, domain) is it important?

Which user action should be enabled (or restricted)? For who?

Additional details (solutions you think about, or workarounds you tried)

Deliverables status

Phase 1

  • Scenarios (Gherkin)
  • Mockups
  • Implementation strategy

Phase 2

  • Acceptance tests (Capybara)
  • Implementation

Phase 3

  • Screencast

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.