Code Monkey home page Code Monkey logo

segrada's People

Contributors

dependabot[bot] avatar mkalus 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

segrada's Issues

Full extended ISO standard for date fields

It would be great if you could add full Extended ISO standard date fields...
i.e. "1882", "1882-10", "1882-10-31", 31-10-1882 and so on... even with time would be great even though it might not be used very often, it would be great to have the possibility when a time occur in a document.

[Wish list] A Note field in addition to the Description and Comment text field

It would be great if there could be some more fields for Notes and Research Notes for entities.

If possible Notes that have date/datespan as metadata that can be used eiter for historical "stories" about the object, or to write Date registered Research Notes/Logs for each object.

To be able to split the Descrition, any "normal" notes or writings and any Research Logs would be a great feature.

Fault: Color on edges change if moving Nodes in the graph

If I move a Node in the graph view that has a edge/link that has a custom color, i.e. green or blue, the color of the edge change to grey.

If I reload the graph view the correct color occur again, but the Nodes has moved back to a default position in the graph, and as soon as I try to move one of the Nodes again, the edge change color again back to "default" grey.

EDIT: The color of the Edge do switch back to the custom color AFTER you click out of the Node so that the node is no longer selected, but it is a delay on this, it would have been better if the edge color kept the custom color when moving connected Nodes.

Add versions

Add versions of documents with changelists, rollbacks and the like.

[Feature Request] Showing multiple same type relations in the graph based on time

It would be nice if the graph showed multiple relations with same type as multiple items based on date and or description...

Case: I have one person that applied/filed multiple Patent applications to same Office, but in different years...
I want to create a graph that visualize the work process of this and other linked actions i.e.
Persons -> Patent Application-> Office /(in 1881)
Office -> patent applied -> Patent No. /(in 1881)
Office -> patent published -> Person /(in 1881)
Office -> patent published -> Newspapers /(in 1881)
Persons -> Patent Application -> Office /(in 1882) / This is the problem, it will be the same line as the one in 1881

As of now I have 10 Patent Applications from the same person to the same office over a period of over 30 years, and it would be great to see it in the graph that its multiple applications thats been filed...
The workaround is to add the "patent"-node in between, but then the workflow will not be correct, because there was no patent or patent number for that application when it was filed, its first when the patent are issued it becomes a patent...

I might have the same problem with multiple other events to...

[Wish List] - Possible to manually save and lock the position of single nodes in a graph

When you get larger graph, often both text and edges overlap, it is possible to drag the Nodes out, but it would be great if there was a feature to save and lock the position of a moved Node in the Graph, so that it stayed at the same position until it was manually moved or unlocked again.
This would help create graphs that was easy to navigate.

Saving the complete graph view is not the same, since it will change when you reload it.

Speed Improvements

Speed is lacking in certain cases like:

  • List view with many tags
  • Creating a new relationship
  • Setting tags
  • Autocompleter is slow

[Feature Request] Larger Pictograms for nodes in graph and line wrap for Titles in Graphs

Would it be possible to ask for bigger pictograms in the Graph View?

I would like to use Logos for different Companies to better visualize them...

It would also be great if you could add Line Wrapping for the Title in Graph View...
Reason for this is that when you have Nodes with long Names, i.e. a Government Office og a Company or the full name for a Museum/Library, the Title Text will often cover Titles of other Nodes...

It would also be great if we could chose to use the Description of Relations as descriptors for the Relations in the Graph View, instead of the Relation Type.

Graph is not updated

Hi, I am using the Segrada version from 2019-04-09. Great tool!
It seems that the graph does not reflect updated links between nodes: I can add links or change their color, the graph stays the same. The graph refresh button does not seem to work. Or am I missing something?

Segrada seems to corrupt its Node database if you delete a Pictogram associated to a Node

It seems I corrupted my database. What I did was:

  1. Create a Node
  2. Create a Pictogram
  3. Edit the Node and associate it with the Pictogram
  4. Delete the Pictogram
  5. List all your Nodes
  6. Boom

After doing this I tried to load the database in an OrientDB instance to fix whatever happened and I got a "Index type SPATIAL is not supported by the engine 'LUCENE'."

You should note that all other lists (sources, files, pictograms, etc.) keep working fine.

I did not find a way to read Segrada logs, so I cannot post them here yet.

Help?

[Wish List] - Import data

It would be great if it was possible to import data to Segrada.
i.e. Node Lists from CSV (Locations, Places, People, Documents, etc) and whole networks from a Network Graph format.

CSV and one common Network Graph format like graphML or Gefx would be more than enough....

It's a lot easier to write descriptions and Notes in Segrada than in i.e. Gephi or Cytoscape (or in a spreadsheet), but it would be great to import data that is already collected...

[Feature Request] Filter graph

It would be nice if there was a tag filter for graph elements. I.e. so one could selectively show/hide nodes and links by (de-)selecting tags.

Arrow heads on edges cover node labels

The arrow head of an edge is covering part of a nodes label text when the edge cross the label.

The edge and arrow heads should be layered under the nodes labels, not over them, it looks very messy when you start to get a lot of edges to a node.
In addition so will any arrow heads pointing to other nodes in the near neighbor area also cover other nodes labels (this has something to do with the length of the edge, if there is some length to a nodes label, the distance between edges can be somewhat short, and both the arrow head of edges and the label of other nodes will cover the labels of other nodes.

Same happens with the labels of edges.
Regarding labels of edges I think it would be cleaner if the label followed the edge instead of being horizontal.

Here is a screenshot of a small graph, showing most of the problems..
image

[Feature Request] [Wishlist] - Multiple Synonyms on TAGS

It would be great if it could be possible to get synonyms on TAGS...

It could be i.e. to be able to add tag names in different languages, or when multiple words can mean the same thing...
It would be of great benefits when using tag hierarchy, not having multiple sub hierarchies (i.e. for languages) with the same meaning...

[Feature Request] [Wishlist] - Custom Attributes on Nodes

It would be great to have Custom Attributes for Nodes... where we could set important values in a structured way, instead of having those in unstructured text in the Description field...

IT would also be great if one of those Attributes was "TYPE", so that it was possible to set a type on a Node, i.e. Country, County, Person, Government Office, Document, Repository, Archive, Newspaper and so on...

Actually any description of a object that can be set in a structured data pair, should be set in attributes...
i.e. Type of Document, Type of Article, Alternative Names...

It would also be great if those Attributes could have a Date/Date Range field to them...


Reason:

Many of these Attributes could be of importance for the research of something, but not in the scope of the Research itself... It could be information that was important in a historic perspective, to find documents where a Company, Country, Office has changed name in the time period where the research span.
Not all of that information are of the type that you put in the graph/project as a Node or Relation, but its important enough to add to the object/subject, and it will be much easier to find if it is in Attribute, than if it is only unstructured text in the comment/descrition field...

How to get data out of segrada? A very noob issue that is my issue if someone could see if they could help, please!

I used segrada on the recommendation of a friend back in 2018/2019. I entered some data from a project and had a lot of fun playing with it.
Now I actually have some knowledge of things like Linux and some programming languages, but I can't figure out how I might export the data I've entered in some sort of table form.
Is this possible?
For example, could I somehow export a list of all my nodes?
I see for example if use the export graph method I can export a .gexf file where I can see the nodes when I open the file in a text editor. It looks like this:

<gexf xmlns="http://www.gexf.net/1.2draft" version="1.2"><nodes><node id="105-92" label="driving around Vladivostok with Chinese"></node><node id="112-36" label="Driving around looking for a lighthouse"></node><node id="107-92" label="&quot;meiyou guihua&quot;"></node><node id="108-92" label="GUIHUA"></node><node id="106-51" label="KEY WORDS"></node><node id="109-92" label="&quot;zhege di guihuade feichang hao.&quot;"></node><node id="110-92" label="Zhang Zong"></node><node id="108-19" label="The Farm"></node><node id="111-91" label="People&apos;s Liberation Army"></node><node id="112-89" label="Inner dialogue / incessant commentary"></node><node id="105-93" label="temptation, doubt, anger, jealousy, aversion to physical experience"></node><node id="108-17" label="Yang Jun"></node><node id="106-17" label="Qinhuangdao"></node><node id="111-15" label="Pimenov"></node><node id="111-16" label="Li Xiaolin"></node><node id="110-16" label="Russian Island Investment Project"></node><node id="107-74" label="Transcending China / Chineseness"></node>

So it seems there must be a way to somehow export all the nodes I have.
So far, I have zero joy from using orientdb to look at my data.
TL;DR: I tried segrada a while back and would now like to resume the project by somehow exporting my data in a readable form back out from segrada.
Thanks for any help!

Internal Server Error on fresh database

Fresh start of database will show the following error in the browser:

HTTP ERROR 500

Problem accessing /. Reason:

    Server Error

Caused by:

javax.servlet.ServletException: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
	at net.sf.ehcache.constructs.web.filter.Filter.logThrowable(Filter.java:143)
	at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:91)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at org.segrada.servlet.CSRFFilter.doFilter(CSRFFilter.java:68)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:541)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1584)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1228)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1130)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.Server.handle(Server.java:564)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:318)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:112)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
	at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:122)
	at org.eclipse.jetty.util.thread.strategy.ExecutingExecutionStrategy.invoke(ExecutingExecutionStrategy.java:58)
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:201)
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:133)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
	at org.segrada.servlet.OrientDBFilter.docToUserGroup(OrientDBFilter.java:224)
	at org.segrada.servlet.OrientDBFilter.docToUser(OrientDBFilter.java:196)
	at org.segrada.servlet.OrientDBFilter.doFilter(OrientDBFilter.java:137)
	at net.sf.ehcache.constructs.web.filter.CachingFilter.buildPage(CachingFilter.java:302)
	at org.segrada.servlet.SegradaSimplePageCachingFilter.doFilter(SegradaSimplePageCachingFilter.java:89)
	at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:86)
	at org.segrada.servlet.CSRFFilter.doFilter(CSRFFilter.java:68)
	... 28 more

unable to include sources

When I fill the fields "Source" and "Reference text" the following error message appears: "source must not be empty" and the fields are empty again...

segrada-source error scr

Graph: Add dependecies in tag with a parent freezes graph

Tested in v0.5.5

Steps to reproduce:

  1. Create a new folder
  2. Start server.
  3. Change DB directory to the new folder
  4. Launch application
  5. Create a tag e.g institution
  6. Create a second tag political party with parent tag the institution tag.
  7. Click 'Add all dependencies to the graph' for the political party tag
  8. In graph, right click political party tag and select 'add dependencies'
  9. Graph freezes, showing the following.

image

User Profile and edit

Add possibility for the user to see own profile and edit it (at least change pw).

Support for non latin characters

It would be nice if segrada could support data entry in non-latin characters for entities.

Whenever user types a non-latin character string, save fails and receives a message:

ERROR org.segrada.service.repository.orientdb.base.AbstractOrientDbRepository  - Exception thrown while saving entity.
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.StringIndexOutOfBoundsException: String index out of range: 0

System configuration:
MacOS 10.14.6
Segrada 0.2.8

Nodes list filtering by tags cannot be reset by removing the tag

I want to start by saying that I think Sagrada is an amazing software, that could be helpful in many ways!

I'd like to report an issue I found in the "List Nodes" window...

Steps to repro:

  • in the "Tags" field, enter a tag
  • click "Filter"
  • remove the tag entered in the "Tags" field
  • click "Filter": instead of resetting the filtering, the tag reappears, so the filtering stays in the previous state.

There is of course the "Reset" link that is doing the job, but I think that emptying the "Tags"
field should have the same effect.

Thank you!
Mihai

macOS 10.13 + OpenJDK 11 -- HTTP 500 error in localhost:8080

The error looks to be the same as #41 -- I'm using the built version available from the website: https://segrada.org/fileadmin/downloads/Segrada.tar.gz -- not sure which version this is.

Java/openjdk installed via brew: brew cask install java

[Segrada]$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

Fresh install, ran via ./start_mac.command -- viewing via localhost:8080

The first viewing gave me a broken page, like HTML was there but none of the styles were being loaded. Errors like this in console:

68863 [qtp1509060235-45] WARN org.eclipse.jetty.server.HttpChannel - /css/vis.css
javax.servlet.ServletException: java.lang.ClassCastException: class java.util.regex.Matcher$ImmutableMatchResult cannot be cast to class java.util.regex.Matcher (java.util.regex.Matcher$ImmutableMatchResult and java.util.regex.Matcher are in module java.base of loader 'bootstrap')

Refreshing the page would then cause a 500 error with this on the page:

Caused by:
java.lang.ClassCastException: class java.util.regex.Matcher$ImmutableMatchResult cannot be cast to class java.util.regex.Matcher (java.util.regex.Matcher$ImmutableMatchResult and java.util.regex.Matcher are in module java.base of loader 'bootstrap')
at org.segrada.servlet.SegradaSimplePageCachingFilter.calculateKey(SegradaSimplePageCachingFilter.java:123)
at net.sf.ehcache.constructs.web.filter.CachingFilter.buildPageInfo(CachingFilter.java:238)
at net.sf.ehcache.constructs.web.filter.CachingFilter.doFilter(CachingFilter.java:216)
at org.segrada.servlet.SegradaSimplePageCachingFilter.doFilter(SegradaSimplePageCachingFilter.java:95)
at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:86)
at org.segrada.servlet.CSRFFilter.doFilter(CSRFFilter.java:68)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:530)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:347)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:256)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:382)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)
at java.base/java.lang.Thread.run(Thread.java:834)

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.