Ultralink Database Creation

We maintain a gigantic database of Ultralinks suitable for general use at ultralink.me. We provide it as a public service and you can freely use it in whatever way you want. However, if you want to create or modify your own Ultralinks, you are going to need your own database. Fortunately, we allow anybody with an Ultralink Account to create their own Hosted Database on our servers with a 100 Ultralink limit for free.

On this page we will walk you through the process and show you how to interact with your newly created database so you quickly kick the tires and get your hands dirty with the tech.

Account Creation

The first thing you need to do is make sure that you have an Ultralink Account. If you haven't already, head over to our Account Creation walkthough and create an Ultralink Account for yourself. Once you are logged into the Dashboard, come back here and continue this walkthrough.

API Key

When you create your Ultralink Database, you will be able to interact with it through the Dashboard, but you can also interface with it programmatically through one of our Client Libraries or by accessing the REST API directly.

To do this, you will need an API Key which you can obtain simply by clicking on the Check Out button. You can revoke this key at any time if you feel it has been comprimised by hitting the Revoke button (after it is visible). At that point, you can check out a new API Key again.

New Database

Now comes the exciting part! You can see under the Databases section that you are currently a member of the "Mainline" database with a "Contributor" permission level. Right under that is a button labeled Create New Database. Click it!

Type in the name of your new database in the input field presented. There are length and character limits to the name you choose, so a live preview of your actual database name is presented on the right. As you type, it will check to see if there are any existing databases with the same name. If your desired database name is available, then you can click on the Create Database button and that's it!

You will now see your new database listed along with your Admin privilege level and the current number of Ultralinks in that database. We allow anybody with an Ultralink Account to create a single Ultralink Database for free and use it any way they like, but it will start off with limitation of only allowing storage for up to 100 Ultralinks. We feel that this is a decent enough amount to allow people to test the tech out or use it for small scale projects like a personal blog. To remove that limitation you will need to purchase a monthly subscription ($100/month) by clicking on the Upgrade button.

If you want to do something really cool with Ultralinks, or have an awesome idea that needs more than 100 Ultralinks to explore, let us know! We reserve the right to waive the subscription fee for projects that we think are really neat. So don't hesitate to get in touch!

Database Backing

You probably also noticed the selector defaulting to <your new database name> (only) on the same row as your new database. This drop down lets you choose whether it is Backed by the Mainline Database or not. To be backed by the Mainline means that before any content is washed through your new database and analyzed, it first gets passed through the Mainline and an Ultralink result set is generated there. It then passes the content through your database and overlays the Ultralink result set from there on top of the one from the Mainline and the combined result is returned. The Ultralinks from your database always take precedence if there are any conflicts or overlaps.

You might use this backing option if you normally want to use the Mainline Database for results, but want to have some editorial control over a few specific Ultralinks or add some of your own to suppliment what is in the Mainline. You can switch between backed and non-backed at any time. Currently, you can only back your database with the Mainline. There will be support in the future for arbitrary database backing, as well as multi-database backing.

Database Management

Now that you have membership in more than one database on this server, a database selector has been added to the upper right-hand corner of the Dashboard. This lets you choose which database you are running the Dashboard against. Use it to select your new database and the Dashboard will reload.

Now that you have reloaded your Dashboard for your new database, you might notice that there are a few new options under the Database menu at the top of the screen. We are contintually working on new tools to help you understand and manage your Ultralink Database. Watch for additional panes and new features in the existing ones as we add them.

From the Search pane under the Database menu you can peruse the existing Ultralinks in the database, make modifications and even create new ones. If you aren't familiar with Ultralink creation or modification, give How To Edit Ultralinks a quick watch.

Connecting Your Database

Your database is now up and running and (presumably) you have put a few Ultralinks in it. Now it's time to use it!

Make sure that you either have created some Ultralinks that you know exist in your test content or have backed your database with the Mainline. If you don't, then your content will get washed through an empty database and you might wonder why no Ultralinks are appearing!

This step will be different Depending on what you want to use Ultralinks for.

Browser Extensions/Native Apps

⬇︎
⬇︎

On the About pane of the extension/app popover, there is a Database option that likely is currently set to Mainline. If you click on that, you can enter in your new database name and hit enter. This will cause the content you browse to be analyzed against your database instead of the Mainline.

WordPress Plugin

⬇︎

At the bottom of the Ultralink WordPress plugin there is a Database field. Simply type in the name of your database and then click on the Update Settings button. Now all of your blog content will be run against the Ultralinks in your new database.

JavaScript

If you are including the Ultralink JavaScript yourself, then use the JavaScript Options Tool and enter your new database name into the database option under the Data Sourcing field. This will generate JavaScript in the Inclusion Code section above that you can use in your project to target your database.

Database API Access

You can create Ultralinks and make changes to them by hand through the Dashboard, but for projects that require syncing with another data source or if you need to make changes to a lot of Ultralinks at once, the Ultralink API is a much better choice. Did you make sure to check out an API Key earlier? We are going to need it now.

The easiest way to interact with your database programmatically is through one of our object-oriented API Client Libraries. These hide all the complexity of the API behind an intuitive and easy to use interface. Don't see a client library for your language of choice? Want to write it yourself? Let us know! Doing so can help us prioritize which language we port to next and help us expand Ultralink integration options.

Check out the code snippet below demonstrating basic Ultralink Database access using our client libraries.

PHP
.NET
<?php

    // Including this file will subsequently
    // include all the classes needed for
    // operation and set things up in a
    // default state.
    require_once 'Ultralink-API.php';

    // Authentication against the server
    // so that you can access your database.
    Master::$cMaster->login("<my API Key>");

    // This selects your database as the
    // current database (identified/accessed
    // through Database::$cDB). That means
    // that any operations now assume the
    // context of your database.
    Database::currentDB("<my db name>");

    // The object returned here represents
    // a new Ultralink in your database.
    $ul = Ultralink::U();

    // We can add words, categories, links
    // or make any changes to it that we like.
    $ul->setWord("Some Word");
    $ul->setCategory("Some Category");
    $ul->setLink("https://somewebsite.example/somepath/");

    // No changes will actually be made to
    // your database until you call sync().
    $ul->sync();

?>
using UL;

namespace UltralinkClientExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Authentication against the server
            // so that you can access your database.
            Master.cMaster.login("<my API Key>");

            // This selects your database as the
            // current database (identified/accessed
            // through the global $cDB). That means
            // that any operations now assume the
            // context of your database.
            Database.currentDB("<my db name>");

            // The object returned here represents
            // a new Ultralink in your database.
            Ultralink ul = Ultralink.U();

            // We can add words, categories, links
            // or make any changes to it that we
            // like.
            ul.setWord("Some Word");
            ul.setCategory("Some Category");
            ul.setLink("https://somewebsite.example/somepath/");

            // No changes will actually be made to
            // your database until you call sync().
            ul.sync();
        }
    }
}