Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

cleanup readme file and architecture doc

  • Loading branch information...
commit 541b089a49c4d463bbe68e0b69b411ad57d783e0 1 parent 5a06af2
@dbu dbu authored
Showing with 33 additions and 29 deletions.
  1. +7 −2 README.md
  2. +26 −27 doc/architecture.md
View
9 README.md
@@ -19,6 +19,7 @@ or visit #jackalope on irc.freenode.net
License: This code is licenced under the apache license.
Please see the file LICENSE in this folder.
+
# Install instructions
Go to the repository of the storage backend you want and follow the instructions there.
@@ -26,10 +27,13 @@ Go to the repository of the storage backend you want and follow the instructions
* [https://github.com/jackalope/jackalope-doctrine-dbal](jackalope-doctrine-dbal)
* [https://github.com/jackalope/jackalope-jackrabbit](jackalope-jackrabbit)
+
# Implementation notes
-See (doc/architecture.md) for an introduction how Jackalope is built. Have a
-look at the source files and generate the phpdoc.
+See [doc/architecture.md](https://github.com/jackalope/jackalope/blob/master/doc/architecture.md)
+for an introduction how Jackalope is built. Have a look at the source files and
+generate the phpdoc.
+
# Contributors
@@ -41,3 +45,4 @@ look at the source files and generate the phpdoc.
* Lukas Kahwe Smith <smith@pooteeweet.org>
* Benjamin Eberlei <kontakt@beberlei.de>
* Daniel Barsotti <daniel.barsotti@liip.ch>
+* [and many others](https://github.com/jackalope/jackalope/contributors)
View
53 doc/architecture.md
@@ -11,52 +11,57 @@ Components
## PHPCR API Interfaces
-
-These interfaces have to be implemented by all projects providing the API in
-PHP. These interface definitions are adapted from the Java Content Repository
-JCR standard. The API is implementation-independent and improved in cooperation
-with all implementors of PHPCR and the JCR community.
+These interfaces have to be implemented by all projects providing the content
+repository API in PHP. These interface definitions are adapted from the Java
+Content Repository JCR standard. The API is implementation-independent and
+improved in cooperation with all implementors of PHPCR and the JCR community.
PHP code: https://github.com/phpcr/phpcr
Documentation: https://phpcr.github.com/
-## PHPCR API Tests
+## PHPCR utilities
+
+During development, we found a couple of useful things that can be provided on
+top of the PHPCR API, regardless of the actual implementation. They are
+collected in the phpcr-utils suite. Jackalope uses a few of those utils.
+PHP code: https://github.com/phpcr/phpcr-utils
+
+
+## PHPCR API Tests
A suite of functional tests for testing if your implementation is correctly
following the specification. Have a look at the README in the git repository
-to see how to set the tests up.
+to see how to set the tests up for your own implementation.
PHP code: http://github.com/phpcr/phpcr-api-tests
-## Storage independent layer
+## Jackalope storage independent layer
This layer implements the PHPCR interfaces in pure, framework-agnostic PHP
without dependencies on any third-party libraries. It provides all the
-necessary code for a PHPCR library without the data storage layer.
+necessary code for a PHPCR library except the data storage layer.
This mechanism, similar to Jackrabbit's [SPI](http://jackrabbit.apache.org/jackrabbit-spi.html),
allows for easy adaptation to different storage backends, handling
implementation details such as transport layers not covered by the PHPCR
standard.
-See the README files in the main folder for how to set up the project.
-
In the src folder, you find mainly classes with the names as defined by the
-PHPCR API. The two important classes not defined by the API are the
-``ObjectManager`` and ``Transport``.
+PHPCR API. The two important things not defined by the API are the class
+``ObjectManager`` and the interfaces in the ``Transport`` namespace.
* ObjectManager caches nodes and talks to Transport. For write operations, it
acts as "Unit of Work" handler.
* Transport is separated from the implementation by Interfaces (see below)
Please read the phpdoc comments for implementation details. Note that the
-methods implementing PHPCR interfaces are documented there. Generate the html
-documentation according to doc/config/README to have a combined doc of the API
-and implementation details.
+methods implementing PHPCR interfaces are documented in the interface php
+files. Generate the html documentation according to doc/config/README to have
+a combined doc of the API and implementation details.
PHP code: http://github.com/jackalope/jackalope
@@ -75,14 +80,7 @@ easiest done by just implementing a new transport.
The doctrine transport uses the doctrine database abstraction layer to talk to
any SQL database supported by doctrine.
-PHP code: http://github.com/jackalope/jackalope (see Transport folder)
-
-The code for the Doctrine transport is located in:
-
- src/Jackalope/Transport/Doctrine/DoctrineTransport.php
- src/Jackalope/Transport/Doctrine/RepositorySchema.php
-
-The first file contains all the relevant transport code, the second the doctrine schema that is required to run this.
+PHP code: http://github.com/jackalope/jackalope-doctrine-dbal
### Jackrabbit: WebDAV/davex protocol to talk to Jackrabbit
@@ -90,10 +88,11 @@ The first file contains all the relevant transport code, the second the doctrine
The jackrabbit transport stores data into an Apache Jackrabbit server using
a pure PHP implementation of the WebDAV/davex remoting protocol.
-PHP code: http://github.com/jackalope/jackalope (see Transport folder)
-
+PHP code: http://github.com/jackalope/jackalope-jackrabbit
-To hack on Jackalope, you might want to read the documentation of the protocol used between Jackalope and the Jackrabbit backend. We have 2 files to download:
+To hack on jackalope-jackrabbit, you might want to read the documentation of
+the protocol used between Jackalope and the Jackrabbit backend. We have 2 files
+to download:
* "jcr-webdav.doc":https://fosswiki.liip.ch/download/attachments/11501816/jcr-webdav_read.doc
* "jcr-webdav-protocol.doc":https://fosswiki.liip.ch/download/attachments/11501816/JCR_Webdav_Protocol.doc
Please sign in to comment.
Something went wrong with that request. Please try again.