This platform is designed to enable not only to store data from applications from various platforms but also to aid you in developing and deploying these applications. Please note that the appjangle platform is currently in PREVIEW and various features are in the process of being completed.
Currently, all already documented features of onedb are available on appjangle. However, it is not possible anymore to obtain an API key from the onedb website. Instead, signing up for appjangle will get you an API key you can use to develop Java applications.
There is a new, short tutorial helping to get started developing Java apps with appjangle/onedb. Check out:
Jangle Java: Upload & Load Tutorial
Jangle Java: Synchronization Tutorial
Here a short list of the additional capabilities of the onedb engine in version 0.0.6:
seed operation has been added as further element operation to the client API. The seed operation allows creating a root node on the appjangle platform. This root node is meant as a space for a small amount of data, required if it is not possible to connect to a registered user’s database. It’s great for creating a space to try out the various features, too.
Currently, it is encouraged to limit nodes appended to a seed node to about 50 nodes. All nodes appended to a seed are by default protected by a private write secret but they do allow public read.
If more data is to be uploaded or the data should also be private read protected, the
createRealm operation can be used.
A usage example for the seed operation can be found in the following Java App:
It is now possible to upload nodes with binary content such as images to the appjangle platform.
You can create a new node with binary content as follows:
byte myData = ...
OneBytes node = one.common.nodes.newByteData(myData, "image/png");
You can then access this picture through the REST server, for instance:
Note that you will need to add “.value.png” to the nodes address to assure it is rendered as binary data. Other currently supported formats for binary data are:
Text nodes, which contain content in the Markdown format, can now be rendered into HTML automatically. Just add the marker
One.reference("https://u1.linnk.it/6wbnoq/Types/isMarkdown") to your plain text node.
A sample Java app is available on github:
See the sample Java app on github, which illustrates the template feature:
Using a slight variation of the syntax, it is also possible to embed HTML rendered from a Markdown template into a HTML page. The syntax for this is:
<!-- embedMarkdown("[path to node]") -->
The onedb client engine now allows to interface with the user login and registration of the appjangle platform. For this, the two operations
loginUser(..) have been added to the core API.
These operations do not only allow to register and login a user for the appjangle platform but also build login/registration capabilities for your own apps. These operations require to specify a
applicationNodeUri. This can be an address to any node on the appjangle platform. The specified node can then function as a global unique identifier for your application and associated registered users.
A number of bugs in the onedb core engine have been fixed. Chiefly:
- References to nodes stored on other server instances would sometimes not be resolved correctly. To fix this issues, all references are always assumed to be resolvable. In consequence, it is not permitted anymore to add a reference object to a network, if there is no resolvable node defined for this reference.
- Fixed a bug in the authorization system. If a child node would have a matching security token with insufficient authorization but the parent node would have a security token with sufficient authorization, the token in the parent node would not be recognized.
- A number of stability improvements have been made to the routines rendering HTML nodes.