Giter Site home page Giter Site logo

chullo's Introduction

Chullo Chullo

Latest Stable Version Minimum PHP Version Downloads Build Status Contribution Guidelines LICENSE codecov

Introduction

Chullo is a PHP client for Fedora built using Guzzle and EasyRdf.

Requirements

This module requires the following modules/libraries:

Installation

  1. git clone [email protected]:Islandora/chullo.git
  2. cd chullo
  3. php composer.phar install

You can also install with composer by pointing to your local clone. Just add these relevant bits to your composer.json:

{
    "repositories": [
        {
            "type": "vcs",
            "url": "/path/to/chullo"
        }
    ],
    "require": {
        "islandora/chullo": "^1"
    }
}

Then just php composer.phar install as usual.

Usage

use Islandora\Chullo\Chullo;

// Instantiated with static factory
$chullo = FedoraApi::create('http://localhost:8080/fcrepo/rest');

// Create a new resource
$uri = $chullo->createResource(); // http://localhost:8080/fcrepo/rest/0b/0b/6c/68/0b0b6c68-30d8-410c-8a0e-154d0fd4ca20

// Parse resource as an EasyRdf Graph
$graph = $chullo->getGraph($uri);

// Set the resource's title
$graph->set($uri, 'dc:title', 'My Sweet Title');

// Save the graph to Fedora
$chullo->saveGraph($uri, $graph);

Documentation

Further documentation for this module is available on the Islandora 8 documentation site.

Troubleshooting/Issues

Having problems or solved a problem? Check out the Islandora google groups for a solution.

Maintainers/Sponsors

Current maintainers:

Development

If you would like to contribute, please get involved by attending our weekly Tech Call. We love to hear from you!

If you would like to contribute code to the project, you need to be covered by an Islandora Foundation Contributor License Agreement or Corporate Contributor License Agreement. Please see the Contributors pages on Islandora.ca for more information. islandora-playbook to get started. If you want to pull down the submodules for development, don't forget to run git submodule update --init --recursive after cloning.

License

MIT

chullo's People

Contributors

acoburn avatar amandarl avatar daniel-dgi avatar dannylamb avatar diegopino avatar elizoller avatar islandora-community avatar jonathangreen avatar kimpham54 avatar manez avatar nigelgbanks avatar rosiel avatar ruebot avatar sowla avatar whikloj avatar ysuarez avatar

Stargazers

 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chullo's Issues

docker-compose

Taking some baby steps here and wondering if there might be any interest / support for adding a docker-compose file to chullo? Using it would be entirely optional and not impact anyone who doesn't want to use it, but the primary advantage is being able to very quickly run (and destroy / recreate) the external server(s) for experimentation and testing.

If adopted this would be possible:

git clone [email protected]:Islandora-CLAW/chullo.git && cd chullo
composer install
docker-compose up -d # runs fedora and blazegraph in background, requires Docker and Docker compose
php examples/fedora.php
php examples/triplestore.php # no output because fcrepo-camel-webapp not setup (think that's needed to sync fedora and the triplestore?)
docker-compose logs # see what just happened
docker-compose stop && docker-compose rm -f # blow it all away ...

It makes it easy to look at chullo independent from CLAW and the full vagrant stack. I have two examples:

a) Include the Dockerfiles with chullo. Adds a couple of extra files, but no external image dependencies, the images will be built the first time docker-compose is run.

https://github.com/Islandora-CLAW/chullo/compare/master...mark-cooper:docker-compose-build?expand=1

b) Point at external images in docker-compose file. It's faster when first run as the images can be downloaded and doesn't require the dockerfiles with chullo, but obviously requires that they are maintained separately.

https://github.com/Islandora-CLAW/chullo/compare/master...mark-cooper:docker-compose-image?expand=1

If there is interest in this option I would recommend adding (contributing) docker-fcrepo4 and docker-blazegraph repositories to Islandora-CLAW, and building images at docker hub under an islandora claw account (so the commented out "image" values in the example docker-compose.yml file are what would actually be used in a pull request). They might then be useful in other contexts as well.

Implement moveResource

Update IFedoraClient and Chullo to include a moveResource function that executes this.

Add tests for 201, 409, 412, and 502 responses.

Implement getResourceOptions

Update IFedoraClient and Chullo to include a getResourceOptions function that executes this.

Add a test for what happens when you receive a 200 response.

add LICENSE

Need to choose a license - GPLv3? GPLv2? Apache 2.0?

Create initial release

We should create an initial release once we merge #20, #21, and #24. This will make packagist happy, and help us flesh out when and how we should do releases for this library. We'll also need to decide where to start out semantic versioning-wise. Do we go with 0.0.1 or 1.0.0 or 0.1.0? Or something else?

@Islandora-CLAW/7-x-2-x-committers let me know what you think.

Awesome

First issue is i find this awesome. Thank to all involved people (two).

0.0.2 release

Should we cut another release of Chullo? We're 23 commits since the last release.

Also, how often should we be cutting releases for this? Sound like a discussion item for Wednesday?

@Islandora-CLAW/7-x-2-x-committers

Provide Triplestore Capabilities

Although not technically required to use Fedora, a triplestore is increasingly becoming a requirement to work with PCDM objects.

Use guzzle and easyrdf to provide a simple client that lets a user query a sparql endpoint.

Please provide tests and usage instructions in the README.

Implement copyResource

Update IFedoraClient and Chullo to include a copyResource function that executes this.

Add tests for 201, 409, 412, and 502 responses.

Implement getResourceHeaders

Update IFedoraClient and Chullo to include a getResourceHeaders function that executes this.

Be sure to test for both 200 and 404 responses.

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.