https://github.com/acdh-oeaw/vleserver
Server side REST API for the VLE
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.0%) to scientific vocabulary
Repository
Server side REST API for the VLE
Basic Info
- Host: GitHub
- Owner: acdh-oeaw
- License: mit
- Language: Puppet
- Default Branch: master
- Homepage: https://clarin.oeaw.ac.at/vle
- Size: 3.03 MB
Statistics
- Stars: 0
- Watchers: 6
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Apigility based Rest Service for VLE
This project is a RESTful API service that can be used to store XML documents in small parts that share a common ancestor. In practice it is used to store TEI documents made up of tei:entry elements. These dictionary like data can then be searched using XPath based indexes.
This project is based on the apigility template project.
Requirements
Please see the composer.json file.
Setting up the REST service
For more instructions also have a look at the apigility documentation!
Via Git (clone)
First, clone the repository:
bash
git clone https://github.com/acdh-oeaw/vleserver.git # optionally, specify the directory in which to clone
cd /path/to/install/vleserver
At this point, you need to use Composer to install dependencies. Assuming you already have Composer:
bash
composer.phar install
Run Composer
Once you have the basic installation, you need to put it in development mode:
bash
cd /path/to/install/vleserver
php public/index.php development enable # put the skeleton in development mode
Now, fire it up!
Do one of the following:
- Just create a symbolic link from the web servers htdocs/html directory to
the
public/directory. Rename that link e. g.rest/orrestttest/ - Create a vhost in your web server that points the DocumentRoot to the
public/directory of the project - Fire up the built-in web server in PHP (5.4.8+) (note: do not use this for production!)
In the latter case, do the following:
bash
cd /path/to/install/vleserver
php -S 0.0.0.0:8080 -t public public/index.php
You can then visit the site at http://localhost:8080/ - which will bring up a welcome page and the ability to visit the dashboard in order to create and inspect your APIs.
Database schema
The database schema used can be found in the sources.
Classes
The classes making up the service can be found in src/v2/wde.
- The RESTful endpoints form a tree structure:
** At the root there are the dicts. The url dicts is followed by the name of the
dictionary (e. g. dicts/arzeng002). Those names map to a set of database tables.
** dicts cointain entries and users
** entries contain entriesndx and changes
(like dicts/
/entries/ ndx or dicts//entries /entries/ /cahnges) - The authentication is done using BASIC HTTP authentication right now. https secured connections are actually mandatory because of this. The authentication requests are resolved against a special "dictionary" dict_users.
More docs
Notes
NOTE ON STRANGE BEHAVIOR, NOT ACCEPTING CONFIG CHANGES
- Check that you provided a valid config/autoload/local.php
- Production setup caches settings in cache/data subdirectory. Please try to remove the contents.
- Apache may need to be restarted (apachectl graceful at least).
NOTE ABOUT USING THE PHP BUILT-IN WEB SERVER
PHP's built-in web server did not start supporting the PATCH HTTP method until
5.4.8. Since the admin API makes use of this HTTP method, you must use a version
>= 5.4.8 when using the built-in web server.
NOTE ABOUT OPCACHE
Disable all opcode caches when running the admin!
The admin cannot and will not run correctly when an opcode cache, such as APC or OpCache, is enabled. Apigility does not use a database to store configuration; instead, it uses PHP configuration files. Opcode caches will cache these files on first load, leading to inconsistencies as you write to them, and will typically lead to a state where the admin API and code become unusable.
The admin is a development tool, and intended for use a development environment. As such, you should likely disable opcode caching, regardless.
When you are ready to deploy your API to production, however, you can disable development mode, thus disabling the admin interface, and safely run an opcode cache again. Doing so is recommended for production due to the tremendous performance benefits opcode caches provide.
Owner
- Name: Austrian Centre for Digital Humanities & Cultural Heritage
- Login: acdh-oeaw
- Kind: organization
- Email: acdh@oeaw.ac.at
- Location: Vienna, Austria
- Website: https://www.oeaw.ac.at/acdh
- Repositories: 476
- Profile: https://github.com/acdh-oeaw
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- puphpet/puphpet-module-installer *
- zendframework/zend-developer-tools ~1.0 development
- zendframework/zftool dev-master development
- zfcampus/zf-apigility-admin 1.3.* development
- zfcampus/zf-apigility-admin-ui 1.3.* development
- zfcampus/zf-deploy 1.0.* development
- doctrine/dbal 2.5.*
- php 5.6.* || 7.0.* || 7.1.*
- rwoverdijk/assetmanager 1.7
- zendframework/zendframework 2.5.*
- zfcampus/zf-apigility 1.3.*
- zfcampus/zf-apigility-documentation 1.3.*
- zfcampus/zf-apigility-documentation-swagger 1.3.*
- zfcampus/zf-development-mode 2.0.*
- puppet-lint >= 0 development
- puppetlabs_spec_helper >= 0 development
- rake >= 0 development
- rspec-puppet >= 0 development
- rspec-system >= 0 development
- rspec-system-puppet >= 0 development
- rspec-system-serverspec >= 0 development
- serverspec >= 0 development
- puppet >= 0