How to develop SIB server packages
LDP packages represent capabilites the server could support. Each may have it’s own configuration depending of what mission it fulfills. There is no limit of what a LDP package can do. Here we are going to see how to developp your own package.
Requirements
A SIB server in development mode.
Generate your package template
First we retrieve the template of the package with this command :
sib startpackage djangoldp_mypack
Note
All your package should respect this semantic. For example djangoldp_skills.
Make a first model
Go to your models.py file, and make a simple first model :
from django.db import models
from djangoldp.models import Model
from django.conf import settings
class Todo(Model):
name = models.CharField(max_length=255)
deadline = models.DateTimeField()
author_user = models.ForeignKey(settings.AUTH_USER_MODEL)
class Meta:
auto_author = 'author_user'
serializer_fields = ['name']
Note
A section about models is coming soon.
Link your package to a developpement server
At the root of you Sib sever, create a symbolic link to your package :
ln -s ../path/to/package/app/ name-of-package
For example :
ln -s ../../djangoldp_mypack/djangoldp_mypack djangoldp_mypack
You can check if it’s well done with the ll command :
Add your package
Tell your sever, you’ve add a new package in the packages.yml:
ldppackages:
djangoldp_mypack: djangoldp_mypack
Initiate your server
Go at the root of your developpement server at the level where reside your manage.py file.
Then initiate your server running this command:
sib install sibserver
Make the migration
At the root of your project, run the following commands :
python manage.py makemigrations
python manage.py migrate
Run your server
Finally, you can run your server as usual to see your new package’s data :
python manage.py runserver
Now access to your Django administration http://127.0.0.1:8000/admin/. You should see your Todo model.
To access to the jsonLD API, go to http://127.0.0.1:8000/todos/