Giter Club home page Giter Club logo

atomicwiki's Introduction

AtomicWiki

AtomicWiki is a wiki engine, tightly integrated with the eXist-db native XML database (http://exist-db.org).

Features

  • Hierarchical collections: articles are organized into collections. Each collection may contain one or more articles and an arbitrary number of sub-collections.
  • Blog support: a collection can be displayed as a weblog feed.
  • Rich wiki markup with syntax highlighting: our wiki editor allows for fast authoring with a number of useful extensions, e.g. to display a block of source code. The wiki editor supports on-the-fly syntax highlighting of the wiki markup.
  • XML storage: article metadata is saved using the Atom Syndication Format, which allows for easy exchange with other systems or news readers. The article content is stored separately as an HTML file, so authors can choose to directly edit the HTML using editing tools outside the wiki (e.g. oXygen).
  • XQuery scripting: embed XQuery code directly into a document and have it executed. Directly query data stored in the database from within an article. Furthermore, all wiki macros are written in XQuery and you can add your own any time.
  • eXist-db Integration: AtomicWiki ships as a self-contained package which can be deployed into any eXist-db using eXist's application repository. It runs alongside other apps within the same db and ignores any documents which are not part of the wiki.

Current State

This version of AtomicWiki is a complete rewrite of the older code base. It is usable, but not yet feature-complete. The following features are planned to be implemented next:

  • Access control: Right now users can view/edit any resource if they have access rights on the database resource. The editing forms do not provide any means to restrict access. We plan to implement a dedicated security model for the wiki based on ACLs.
  • User management: While users can be added/edited using eXist-db standard tools, there are no forms for this within the wiki.
  • Commenting: commenting and annotations will be a major feature of AtomicWiki. We plan to go beyond simple comments attached to an article, allowing users to annotate virtually everything: an article, a piece of text within a page, a relation between two resources, ...
  • Resource upload: Likewise, images or other resources can be uploaded using eXist-db tooling, but not from within the wiki.
  • Editor improvements: auto-complete for links, more keyboard shortcuts ...
  • HTML WYSWIG editor: since all content is stored as XML/HTML, we could also support editing content with a WYSWIG editor instead of wiki markup. The goal is to allow any type of editor to be plugged in.

Download

You can https://github.com/exist-db/AtomicWiki/downloads a zip containing a ready-to-install application package plus additional libraries required by eXist. Unzip the downloaded archive and proceed with installing jars.

Compilation

  • Requirements: Java 8, Apache Maven 3.3+, Git.

If you want to create an EXPath Package for the app, you can run:

$ mvn package

There will be a .xar file in the target/ sub-folder.

Uploading the package

The .xar file is an installable package containing the code and initial data for AtomicWiki. You can install this into any eXist instance using the application repository manager. In a web browser, open the admin web page of your eXist instance and select "Package Repository". Switch to the "Upload" tab and select the .xar file for upload, then click "Upload Package". After installation has finished, your new version of AtomicWiki (now stored inside the database) should be accessible at:

 http://localhost:8080/exist/apps/wiki/

atomicwiki's People

Contributors

adamretter avatar claudius108 avatar dennyisgrey avatar dizzzz avatar duncdrum avatar joewiz avatar line-o avatar robertsovty avatar sabinedm avatar wolfgangmm avatar

Stargazers

 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

atomicwiki's Issues

Error when logging of in the Editor

Pressing Logout User when editing an article produces an error.

exerr:ERROR XPTY0004: The actual cardinality for parameter 1 does not match the cardinality declared in the function's signature: atomic:lock-for-user($feed as element()) item(). Expected cardinality: exactly one, got 0. [at line 130, column 54, source: /db/apps/wiki/modules/app.xql]
In function:
atomic:lock-for-user(element()) [130:32:/db/apps/wiki/modules/atomic.xql]
app:get-or-create-entry(node(), map, xs:string?) [19:9:/db/apps/wiki/modules/app.xql]
templates:call-with-args(function, function
, element(), map) [129:13:/db/apps/wiki/modules/templates.xql]
templates:process-output(element(), map, item(), element()) [126:9:/db/apps/wiki/modules/templates.xql]
templates:call-by-introspection(element(), element(), map, function) [110:28:/db/apps/wiki/modules/templates.xql]
templates:call(xs:string, element(), map) [80:29:/db/apps/wiki/modules/templates.xql]
templates:process(node()
, map) [177:13:/db/apps/wiki/modules/templates.xql]
templates:call-by-introspection(element(), element(), map, function) [110:28:/db/apps/wiki/modules/templates.xql]
templates:call(xs:string, element(), map) [80:29:/db/apps/wiki/modules/templates.xql]
templates:process(node(), map) [83:73:/db/apps/wiki/modules/templates.xql]
templates:process(node()
, map) [83:73:/db/apps/wiki/modules/templates.xql]
templates:process(node(), map) [83:73:/db/apps/wiki/modules/templates.xql]
templates:process(node()
, map) [83:73:/db/apps/wiki/modules/templates.xql]
templates:process(node(), map) [83:73:/db/apps/wiki/modules/templates.xql]
templates:process(node()
, map) [83:73:/db/apps/wiki/modules/templates.xql]
templates:process(node(), map) [319:9:/db/apps/wiki/modules/templates.xql]
templates:surround(node(), map, xs:string, xs:string?, xs:string?) [19:9:/db/apps/wiki/modules/templates.xql]
templates:call-with-args(function, function
, element(), map) [129:13:/db/apps/wiki/modules/templates.xql]
templates:process-output(element(), map, item(), element()) [126:9:/db/apps/wiki/modules/templates.xql]
templates:call-by-introspection(element(), element(), map, function) [110:28:/db/apps/wiki/modules/templates.xql]
templates:call(xs:string, element(), map) [80:29:/db/apps/wiki/modules/templates.xql]
templates:process(node()
, map) [83:73:/db/apps/wiki/modules/templates.xql]
templates:process(node(), map) [73:51:/db/apps/wiki/modules/templates.xql]
templates:process(node()
, map) [52:9:/db/apps/wiki/modules/templates.xql]
templates:apply(node()+, function, map?, map?) [29:5:/db/apps/wiki/modules/templates.xql]

Image Captions' Orientation [HTML-Article]

Image captions spread over the full width of the page, even if the image is much smaller than this:
image_caption

In extreme cases there seemingly is no relation between caption and image.
image_caption002

It would be great, if the image caption would approximately fit the size of the image:
image_caption_new

Or in the aforementioned extreme cases, would be centered to the image:
image_caption002_new

Image Meta Data

Display meta data of an image on MouseOver (was defined earlier already)

3.1RC - new articles have no name

With 3.1RC and because of this bug eXist-db/exist#777, the name parameter is not sent to the server while creating a new article
Hence, instead of myNewArticle.atom, we end up with a .atom and .html created on the targeted feed collection.
Cheers,
C.

eXide: Dialog boxes partially inaccessible

sometimes eXide displays dialog boxes too high. if the dialog can be re-sized, it will "come down" through re-sizing. but this is quite annoying if it is the log-in dialog, since this can not be re-sized and one will not see the upper part (where the user name goes...)

exide login

Line Breaks [Markdown]

It looks like the line break function - adding several spaces - does not work.

Though adding even more than two spaces in the editor:
line-breaks_edit

The article shows no line breaks at all in the view mode:
line-breaks_view

Insert Image using the gallery

To insert a simple image to a wiki article one should have the opportunity to chose the image from Tamboti instead of an attachment.

Link Target [HTML]

It would be great, if you could also edit the target of a link. Most importantly to define target="_blank" like e.g. in Wordpress.

insert_link_target
[This is what the "add link" pop-up looks like in the HTML version of a Wiki article at the moment.]

link_target_blank_wp
[This is what the "add link" pop-up looks like in Wordpress.]

slideshow: define display time for individual image

in addition to the global "switch after" value (how fast to switch images) we need to set the time per image.
this can be done in the "insert slideshow" dialog (which should perhaps be named "edit slideshow"), where each image has a slot to adjust how long the imags should be visible in the slideshow.
this is a function similar to e.g. the "Timeline" in Photoshop (formerly "Animation" for animated gifs, cf. attached images:
frame-delay
yoga7

)

Admin -> Edit Slideshows conceals other sub-menu items

the admin sub-menu (drop-down) includes the item "Edit Slideshows", which opens all the available slideshows on mouse-over. unfortunately, this conceals the menu-items below it, i.e. "Edit Section", "Sitemap", or "Edit Menu".
possible solutions could be:
a) open the contents of "Edit slideshows" only on mouse-click
b) move "Edit Slideshows" to the bottom of the drop-down
c) display contents with offset to the side

Image Selection disabled

This occured several times today and I don't quite know whether it's an issue with the Wiki or with Tamboti. After uploading new images to a subfolder of my personal folder I could select the subfolder and refresh in the image selection tool, but I couldn't add them to the Wiki article [HTML version]. The plus mouse-over just didn't appear.
2015-04-08_16-36-11_image_insertion

Log-in

A) if a user is already logged in to tamboti / ziziphus, an additional logi should not be required
B) if a user only logs in to the wiki, just using the user-id should be enough (instead of the clumsy "user-id"@ad.uni-heidelberg.de)

Help Button

within each collection ("folder") it should be possible to have a "help" button in the navigation bar (to the right, next to the "login"). this button should appear if in the "root" folder of the collection an html-article "help" was created.

text indentation

there should be an option in the editor to indent text. indents from other text-editors (e.g. word) will be lost by copy&pasting text.

Bold *and* Italics together doesn't work [Markdown]

The emphasis functions also seem to not work properly. When adding three asterisks to format a text bold and italics, the text ends up as an unordered list with a asterisk at the end.

In the editor:
bold-italics_editor

In the viewer:
bold-italics_viewer

copyright notice (footer)

where can we change the copyright info in the theme (lower left side of the footer)? it should not always say "Copyright eXistSolutions 2013".

slideshow options

is it possible to implement the slideshow options? for example, the adjustment of the display time for slides (even if just applied to all slides) was a feature students have been asking for.

Embed Videos and Stuff

Students seem to be very embed happy. There were requests for Video and other stuff.

Video has priority

VIDEO:

pandora

<iframe width="640" height="360" src="http://129.206.36.128:8000/L/editor/BIH#?embed=true" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>

or for sections

<iframe width="640" height="360" src="http://129.206.36.128:8000/M/editor/00:01:19.120,00:01:14.200,00:01:19.120#?embed=true" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>

youtube

<iframe class="youtube-player" type="text/html" width="640" height="385" src="http://www.youtube.com/embed/NQQdsKH3Qt8" allowfullscreen frameborder="0"> </iframe>

vimeo

<iframe src="http://player.vimeo.com/video/VIDEO_ID" width="WIDTH" height="HEIGHT" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>

OTHER STUFF:

Google Trends
see http://www.google.de/trends/explore?q=test#q=test&cmpt=q

<script type="text/javascript" src="//www.google.de/trends/embed.js?hl=de&q=test+-me&cmpt=q&content=1&cid=TIMESERIES_GRAPH_0&export=5&w=500&h=330"></script>

prezi
embed code generation doesn't seem to work here at the moment.

editor: underline text does not work

the "underline text" function in the wiki editor does not work: in edit mode the underline is displayed, but "save" or "save and close" do not save the underlining.

slideshow: side-text does not scroll

text assigned to be displayed next to the image does not scroll anymore. longer texts get cut without indicating that more text is available.
this is the case both in normal view, and in fullscreen view

Address issues identified by Craig Berry's eXist 5 audit script

Running https://github.com/craigberry/audit_exist_5x_removals on this repository reveals several outstanding issues:

Replace the following instances of the function map:new with map:merge

./modules/search.xql:48 		        templates:process($node/*, map:new((map { "results-by-entry" := $match, "id" := $entry/atom:id, "entry" := $entry }, $model)))
./modules/app.xql:82                     templates:process($node/*[1], map:new(($model, map { "entry" := $entry, "count" := count($entries) }))),
./modules/app.xql:83                 templates:process($node/*[2], map:new(($model, map { "count" := count($entries), "perPage" := $count })))
./modules/app.xql:141                         templates:process($node/node(), map:new(($model, map { "entry" := $entry })))
./modules/app.xql:143                 templates:process($node/node(), map:new(($model, map { "entry" := atomic:create-entry() })))
./modules/gallery.xql:524         templates:process($node/node(), map:new(($model, map {"entry" := $entry, "index" := ($start + $index -1)})))            
./modules/restxq.xql:191                             map:new(($params, map:entry($var, $accessor)))
./modules/restxq.xql:235         map:new(($params, map:entry($var, $param)))
./modules/restxq.xql:246         map:new(($params, map:entry($var, $header)))
./modules/restxq.xql:274                 map:new((
./modules/acl.xql:122                     let $processed := templates:copy-node($node, map:new(($model, map { "permissions" := $permissions })))

Replace the following instances of the function xmldb:copy with xmldb:copy-collection or xmldb:copy-resource (no replacement in 4.x.x!)

./modules/migrate.xql:98         xmldb:copy($source, $target, $resource),

Replace the following instances of the function xmldb:get-current-user with sm:id

./modules/atomic.xql:77         <atom:author><atom:name>{ xmldb:get-current-user() }</atom:name></atom:author>
./modules/atomic.xql:86         <atom:author><atom:name>{ xmldb:get-current-user() }</atom:name></atom:author>
./modules/atomic.xql:151         if ($lock and not($lock = xmldb:get-current-user())) then
./modules/atomic.xql:157                     <wiki:lock user="{xmldb:get-current-user()}"/>
./modules/annotations.xql:45                 <user>{xmldb:get-current-user()}</user>
./modules/annotations.xql:87             <user>{xmldb:get-current-user()}</user>
./modules/app.xql:388         if ($lockedBy and not($lockedBy = xmldb:get-current-user())) then
./modules/app.xql:397         if ($lockedBy and not($lockedBy = xmldb:get-current-user())) then
./modules/app.xql:417     let $user := xmldb:get-current-user()
./modules/store.xql:32         if ($owner != xmldb:get-current-user()) then
./modules/store.xql:166     let $user := xmldb:get-current-user()
./modules/store.xql:210                 <atom:name>{xmldb:get-current-user()}</atom:name>
./modules/store.xql:229     let $author := request:get-parameter("author", xmldb:get-current-user())
./modules/store.xql:260                     if (xmldb:get-current-user() = $author) then
./modules/store.xql:320                     <wiki:lock user="{xmldb:get-current-user()}"/>
./modules/store.xql:368     let $author := request:get-parameter("author", xmldb:get-current-user())
./modules/store.xql:383             <atom:author><atom:name>{ xmldb:get-current-user() }</atom:name></atom:author>
./modules/store.xql:395         if ($owner = xmldb:get-current-user()) then (
./modules/acl.xql:65     acl:get-user-name(xmldb:get-current-user())
./modules/acl.xql:85     let $user := xmldb:get-current-user()
./modules/acl.xql:116                 if ($owner != xmldb:get-current-user()) then

Replace the following instances of the function xmldb:get-user-groups with sm:get-user-groups

./controller.xql:37     if ($config:users-group = xmldb:get-user-groups($user)) then

Replace the following instances of the function xmldb:get-users with sm:list-users

./modules/users.xql:58                         for $user in xmldb:get-users($group)
./modules/users.xql:88     let $managers := xmldb:get-users($config:admin-group)
./modules/users.xql:179     let $managers := xmldb:get-users($config:admin-group)

Replace the following instances of the function xmldb:is-admin-user with sm:is-dba

./modules/login.xql:87     if (not($asDba) or xmldb:is-admin-user($user)) then (
./modules/login.xql:137         if ($isLoggedIn and (not($asDba) or xmldb:is-admin-user($user))) then (

Replace the following instances of the module datetime with XQuery 3.1, FunctX, or other implementations

./modules/dates.xql:5 import module namespace dt="http://exist-db.org/xquery/datetime" at "java:org.exist.xquery.modules.datetime.DateTimeModule";
./modules/app.xql:10 import module namespace date="http://exist-db.org/xquery/datetime" at "java:org.exist.xquery.modules.datetime.DateTimeModule";

Replace the following instances of the module httpclient with EXPath HTTP Client

./data/util/TwitterUserFeed.xql:7 import module namespace httpclient="http://exist-db.org/xquery/httpclient"

Breadcrumb links and structure on live wiki are broken

[edit] Initially, I followed an old or wrong link from a search result.
I learned admin.exist-db.org is deprecated, you should use exist-db.org/exist/apps/wiki instead.

Nevertheless the structure of the HowTos is unclear and the breadcrumbs are a little broken.

Clicking on HowTos Bla leads to a page with no further links. A list of child-pages would make sense here.

On one I happen to know of, XQuery3, the breadcrumb navigation and its links are broken.

Screenshot 2019-09-16 at 18 31 41

Clicking on Switch Expression will just reload the page.

Content from HTML Article displays only partially

I had this before and today again: the user has some text in a html-article and it looks fine. but when the text is assigned to an image within a slideshow, only parts will show.
perhaps this is because of some weird copy&paste thing, so i have asked the student about how she is doing this. but here are some screenshots. the article with the problem is still there and can be checked:
http://kjc-ws2.kjc.uni-heidelberg.de:8600/exist/apps/wiki/ethnografische_fotografie/koerperbild/slides/mittelpunkt

the text looks good in the editor:
text-problem01

and looks good in the "preview" (after saving):
text-problem02

but only the first part gets displayed in the slideshow:
text-problem03

markdown error on startup

What is the Problem:

Accessing the wiki (or any article) results in:

err:XPTY0004 Expected exactly one item for the function to be called, got 0. Expression: $config?paragraph [at line 285, column 20, source: /Users/halalpha/Library/Application Support/org.exist/expathrepo/markdown-0.6/content/markdown.xql]
In function:
	markdown:paragraph(xs:string, map) [450:34:/Users/halalpha/Library/Application Support/org.exist/expathrepo/markdown-0.6/content/markdown.xql]
	markdown:handle-block(xs:string, function*, map) [454:13:/Users/halalpha/Library/Application Support/org.exist/expathrepo/markdown-0.6/content/markdown.xql]
	markdown:handle-block(xs:string, function*, map) [461:9:/Users/halalpha/Library/Application Support/org.exist/expathrepo/markdown-0.6/content/markdown.xql]
	markdown:parse-blocks(xs:string*, map) [138:30:/Users/halalpha/Library/Application Support/org.exist/expathrepo/markdown-0.6/content/markdown.xql]
	markdown:parse(xs:string?, map+) [100:40:/Users/halalpha/Library/Application Support/org.exist/expathrepo/markdown-0.6/content/markdown.xql]
	atomic:get-content(element()?, xs:boolean) [312:25:/db/apps/wiki/modules/atomic.xql]
	app:content(node(), map) [217:18:/db/apps/wiki/modules/app.xql]
	templates:call-with-args(function, function*, element(), map) [208:13:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process-output(element(), map, item()*, element()) [205:9:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:call-by-introspection(element(), map, map, function) [187:28:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:call(item(), element(), map) [143:37:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process(node()*, map) [146:81:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process(node()*, map) [82:21:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	app:entries(node(), map, xs:string?, xs:string?, xs:string?, xs:int) [225:18:/db/apps/wiki/modules/app.xql]
	templates:call-with-args(function, function*, element(), map) [208:13:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process-output(element(), map, item()*, element()) [205:9:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:call-by-introspection(element(), map, map, function) [187:28:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:call(item(), element(), map) [143:37:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process(node()*, map) [280:13:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process(node()*, map) [146:81:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process(node()*, map) [146:81:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process(node()*, map) [146:81:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process(node()*, map) [146:81:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process(node()*, map) [146:81:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process(node()*, map) [146:81:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process(node()*, map) [465:17:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process-output(element(), map, item()*) [273:9:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process-output(element(), map, item()*, element()) [205:9:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:call-by-introspection(element(), map, map, function) [187:28:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:call(item(), element(), map) [135:36:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process(node()*, map) [131:51:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:process(node()*, map) [88:9:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]
	templates:apply(node()+, function, map?, map?) [31:5:/Users/halalpha/Library/Application Support/org.exist/expathrepo/shared-0.4.2/content/templates.xql]

What Did I expect

A working AtomicWIki

Sys

eXist 3.6.1
Java8
markdown 0.6.
AtomicWiki 0.8

missing tooltips

in the editor, the buttons for "style selection", "bold text", "italic text", and "underline text" do not have tooltips assigned - while all the other icons have one.

Navigation

users have repeatedly reported difficulties in finding the wiki-internal navigation.
would it be possible to have
a) an icon "navigation" in the upper left corner, below the "navigation bar"
b) and/or an tool tip on mouseover on the navigation link ( e.g. the textlink "Ethnografische Fotografie" on the "navigation bar")
c) or show the navigation onMouseOver on the navigation link (instead of using onLeftClick)
d) or implement navigatino at another place, e.g. left hidden menu

State of Wikimarkup support

I've noticed that wikimarkup seems to have taken a down turn with the more recent updates. Will it be phased out completely? Are there specific problems with it? Just curious.

Problem accessing /exist/apps/wiki/. Reason: Server Error

HTTP ERROR 500 | Problem accessing /exist/apps/wiki/. Reason: Server Error

I am trying to enter the wiki at the first time, but I get the error message. This is described as not being declared the namespace text, required by the line 271 (ch40) in the restxq and related to err:XPST0081.


HTTP ERROR 500

Problem accessing /exist/apps/wiki/. Reason:

Server Error

Caused by:

javax.servlet.ServletException: An error occurred while processing request to /exist/apps/wiki/: err:XPST0081 error found while loading module restxq: Error while loading module modules/restxq.xql: No namespace defined for prefix text [at line 271, column 40]
at org.exist.http.urlrewrite.XQueryURLRewrite.service(XQueryURLRewrite.java:378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689)
at de.betterform.agent.web.filter.XFormsFilter.doFilter(XFormsFilter.java:171)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1174)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1106)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:459)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:524)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:319)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:253)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.lang.Thread.run(Unknown Source)
Caused by: org.exist.xquery.XPathException: err:XPST0081 error found while loading module restxq: Error while loading module modules/restxq.xql: No namespace defined for prefix text [at line 271, column 40]
at org.exist.dom.QName.parse(QName.java:324)
at org.exist.xquery.FunctionFactory.createFunction(FunctionFactory.java:45)
at org.exist.xquery.parser.XQueryTreeParser.functionCall(XQueryTreeParser.java:10344)
at org.exist.xquery.parser.XQueryTreeParser.primaryExpr(XQueryTreeParser.java:7298)
at org.exist.xquery.parser.XQueryTreeParser.expr(XQueryTreeParser.java:3531)
at org.exist.xquery.parser.XQueryTreeParser.functionCall(XQueryTreeParser.java:10323)
at org.exist.xquery.parser.XQueryTreeParser.primaryExpr(XQueryTreeParser.java:7298)
at org.exist.xquery.parser.XQueryTreeParser.expr(XQueryTreeParser.java:3531)
at org.exist.xquery.parser.XQueryTreeParser.expr(XQueryTreeParser.java:1866)
at org.exist.xquery.parser.XQueryTreeParser.expr(XQueryTreeParser.java:422)
at org.exist.xquery.parser.XQueryTreeParser.expr(XQueryTreeParser.java:2602)
at org.exist.xquery.parser.XQueryTreeParser.functionDecl(XQueryTreeParser.java:5742)
at org.exist.xquery.parser.XQueryTreeParser.prolog(XQueryTreeParser.java:4870)
at org.exist.xquery.parser.XQueryTreeParser.libraryModule(XQueryTreeParser.java:3998)
at org.exist.xquery.parser.XQueryTreeParser.module(XQueryTreeParser.java:3830)
at org.exist.xquery.parser.XQueryTreeParser.xpath(XQueryTreeParser.java:3612)
at org.exist.xquery.XQueryContext.compileModule(XQueryContext.java:2889)
at org.exist.xquery.XQueryContext.compileOrBorrowModule(XQueryContext.java:2821)
at org.exist.xquery.XQueryContext.importModule(XQueryContext.java:2732)
at org.exist.xquery.parser.XQueryTreeParser.importDecl(XQueryTreeParser.java:5853)
at org.exist.xquery.parser.XQueryTreeParser.prolog(XQueryTreeParser.java:4877)
at org.exist.xquery.parser.XQueryTreeParser.mainModule(XQueryTreeParser.java:4010)
at org.exist.xquery.parser.XQueryTreeParser.module(XQueryTreeParser.java:3955)
at org.exist.xquery.parser.XQueryTreeParser.xpath(XQueryTreeParser.java:3612)
at org.exist.xquery.XQuery.compile(XQuery.java:128)
at org.exist.xquery.XQuery.compile(XQuery.java:79)
at org.exist.xquery.XQuery.compile(XQuery.java:71)
at org.exist.http.urlrewrite.XQueryURLRewrite.runQuery(XQueryURLRewrite.java:682)
at org.exist.http.urlrewrite.XQueryURLRewrite.service(XQueryURLRewrite.java:256)
... 30 more
Caused by:

org.exist.xquery.XPathException: err:XPST0081 error found while loading module restxq: Error while loading module modules/restxq.xql: No namespace defined for prefix text [at line 271, column 40]
at org.exist.dom.QName.parse(QName.java:324)
at org.exist.xquery.FunctionFactory.createFunction(FunctionFactory.java:45)
at org.exist.xquery.parser.XQueryTreeParser.functionCall(XQueryTreeParser.java:10344)
at org.exist.xquery.parser.XQueryTreeParser.primaryExpr(XQueryTreeParser.java:7298)
at org.exist.xquery.parser.XQueryTreeParser.expr(XQueryTreeParser.java:3531)
at org.exist.xquery.parser.XQueryTreeParser.functionCall(XQueryTreeParser.java:10323)
at org.exist.xquery.parser.XQueryTreeParser.primaryExpr(XQueryTreeParser.java:7298)
at org.exist.xquery.parser.XQueryTreeParser.expr(XQueryTreeParser.java:3531)
at org.exist.xquery.parser.XQueryTreeParser.expr(XQueryTreeParser.java:1866)
at org.exist.xquery.parser.XQueryTreeParser.expr(XQueryTreeParser.java:422)
at org.exist.xquery.parser.XQueryTreeParser.expr(XQueryTreeParser.java:2602)
at org.exist.xquery.parser.XQueryTreeParser.functionDecl(XQueryTreeParser.java:5742)
at org.exist.xquery.parser.XQueryTreeParser.prolog(XQueryTreeParser.java:4870)
at org.exist.xquery.parser.XQueryTreeParser.libraryModule(XQueryTreeParser.java:3998)
at org.exist.xquery.parser.XQueryTreeParser.module(XQueryTreeParser.java:3830)
at org.exist.xquery.parser.XQueryTreeParser.xpath(XQueryTreeParser.java:3612)
at org.exist.xquery.XQueryContext.compileModule(XQueryContext.java:2889)
at org.exist.xquery.XQueryContext.compileOrBorrowModule(XQueryContext.java:2821)
at org.exist.xquery.XQueryContext.importModule(XQueryContext.java:2732)
at org.exist.xquery.parser.XQueryTreeParser.importDecl(XQueryTreeParser.java:5853)
at org.exist.xquery.parser.XQueryTreeParser.prolog(XQueryTreeParser.java:4877)
at org.exist.xquery.parser.XQueryTreeParser.mainModule(XQueryTreeParser.java:4010)
at org.exist.xquery.parser.XQueryTreeParser.module(XQueryTreeParser.java:3955)
at org.exist.xquery.parser.XQueryTreeParser.xpath(XQueryTreeParser.java:3612)
at org.exist.xquery.XQuery.compile(XQuery.java:128)
at org.exist.xquery.XQuery.compile(XQuery.java:79)
at org.exist.xquery.XQuery.compile(XQuery.java:71)
at org.exist.http.urlrewrite.XQueryURLRewrite.runQuery(XQueryURLRewrite.java:682)
at org.exist.http.urlrewrite.XQueryURLRewrite.service(XQueryURLRewrite.java:256)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689)
at de.betterform.agent.web.filter.XFormsFilter.doFilter(XFormsFilter.java:171)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1174)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1106)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:459)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:524)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:319)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:253)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.lang.Thread.run(Unknown Source)
Powered by Jetty:// 9.3.9.v20160517

Anchors don't work [HTML Article]

I experienced difficulties with setting anchors and links within one HTML article like for making ToCs for the article.
image

First I set the anchor on "Name" and apply the ID "agent-name".
image

Then I mark the text I would like to have as a link and insert a link:
image
image

After saving the link appears but won't work:
image

Though the link in the adress bar looks right:
link_adress-bar

Within the code, there's a link but no anchor:
image

Another try without giving the link within the Wiki didn't work either. This way I didn't get a link at all:
image

image

Our first try working around it with eXide failed. When I tried again right now for documentation it finally worked though:
image
image

collection menu overwrites other menus

changes in "Edit Menu" will be applied to all collections instead of just to the selected one. for example, if i create a menu for urban anthropology, it will also show in popular culture. menus that were already created get lost (overwritten?).

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.