-
Notifications
You must be signed in to change notification settings - Fork 24
System setup
This is guidance for developers on how to set up a Paperight server instance.
The Paperight website turns print shops into print-on-demand bookstores. This is a guide to set up and run the Paperight enterprise system on Windows locally.
Ensure you have Java 1.7 installed, and that it is added to the system environment variables. This system does not currently work with Java 8.
Ensure you have Tomcat 6 or later installed and running.
Check out the source code from the Github repository to local disk:
https://github.com/Paperight/website
The source code is split into the website and the server, with the common and common-web-elements used in both systems.
The following section discusses the IntelliJ IDE installation and setup. You can follow a similar process if you use a different IDE.
Download the latest Intellij IDEA:
https://www.jetbrains.com/idea/download/
(You can download the latest Spring Tool Suite (STS), if you prefer to use Eclipse-based IDE, from this location: http://spring.io/tools/sts/all).
Follow setup instructions to install the IDE.
Once IntelliJ is installed, open the IDE and go to File -> Import Project…, and navigate to the source code location. Select the project and follow instructions to open the project.
(For STS, open STS, go to File -> Import -> General -> Existing Projects into Workspace, and select the root directory of the source code).
Once the project is open, update the maven dependencies, so that missing libraries and downloaded and added to project.
Create two Tomcat servers, one for the website, and one for the server.
On the toolbar at the top of IntelliJ, click the down arrow just to the left of the Run and Debug icons. There will be an option to Edit Configurations. In the resulting popup, click the Add icon, then click Tomcat and Local.
From that dialog, you will need to click the Configure... button next to Application Server to tell IntelliJ where Tomcat is installed.
In STS, open the Servers view by navigating to Window -> Show View – Servers.
Right-click anywhere in the view, and select New -> Server. Once a pop-up appears, select Apache -> Tomcat v6.0 Server or later and setup your server. Repeat for the website as well.
Download and install the latest Prince PDF:
http://www.princexml.com/download/
This will be required to generate PDFs.
The system uses a MySQL database. You need to create a local MySQL database. Once the database is created, you need to run a Spring-Batch-Core scripts against it.
In the Spring-Batch-Core library’s root folder from the Maven dependencies, locate the schema-mysql.sql file, and run it against your database.
| Property | Value |
|---|---|
| base.url | The base URL for the server e.g. http://localhost:8090/server |
| rest.username | Username for REST authentication |
| rest.password | Password for REST authentication |
| pdf.file.folder | The PDF files folder e.g. C:\Paperight\Resources\data\pdfs |
| pdf.download.licence.file.folder | Location for downloaded licence invoices |
| pdf.download.earning.file.folder | Location for downloaded publisher earning invoices |
| licenced.pdf.file.folder | The licences folder e.g. C:\Paperight\Resources\data\pdfs\licences |
| jacket.image.file.folder | The jacket images file folder e.g. C:\Paperight\Resources\data\jacket_images |
| product.file.upload.folder | The product file uploads folder e.g. C:\Paperight\Resources\data\product_file_uploads |
| product.file.upload.staged.folder | Product file upload staged folder |
| bulk.product.data.folder | Bulk product data folder |
| converted.bulk.product.data.folder | Converted bulk product data folder |
| bulk.default.css.file | Bulk default CSS file path |
| lucene.index.folder | The Lucene search index folder e.g. C:\Paperight\Resources\data\lucene_indexes |
| ip2country.lookup.data.filename | The GeoIP country lookup location e.g. C:\Paperight\Resources\data\geoip\GeoIP.dat |
| html.pdf.css.folder | The PDF css location e.g. C:\Paperight\Resources\css |
| html.folder | The HTML source location e.g. C:\Paperight\Resources\html |
| wkhtmltopdf.executable.location | The wkhtmltopdf executable location e.g. C:\Program Files (x86)\wkhtmltopdf1\wkhtmltopdf.exe |
| princepdf.executable.location | The prince PDF executable location e.g. C:\DevTools\Prince\Engine\bin\prince.exe |
| email.username | The SMTP email username |
| email.password | The SMTP email password |
| email.host | The SMTP email host e.g. root |
| email.port | The SMTP email port e.g. 25 |
| email.from.default | The default ‘from’ email address |
| email.from.default | The default ‘from’ name |
| email.to.default | The default ‘to’ email address |
| bitly.username | Bitly username |
| bitly.api.key | Bitly API key |
| amazon.access.key.id | Amazon access key ID |
| amazon.secret.key | Amazon secret key |
| amazon.associate.id | Amazon associate ID |
| docraptor.api.url | Docraptor API URL e.g. http://docraptor.com/docs |
| docraptor.api.key | Docraptor API key |
| Property | Value |
|---|---|
| base.url | The base URL for the website e.g. http://localhost:8080/website |
| server.rest.host | The base URL for the server e.g. http://localhost:8090/server |
| server.rest.username | Username for server REST authentication |
| server.rest.password | Password for server REST authentication |
| lucene.index.folder | The Lucene search index folder e.g. C:\Paperight\Resources\data\lucene_indexes |
| email.username | The SMTP email username |
| email.password | The SMTP email password |
| email.host | The SMTP email host e.g. root |
| email.port | The SMTP email port e.g. 25 |
| email.from.default | The default ‘from’ email address |
| email.from.default.name | The default ‘from’ name |
| email.to.default | The default ‘to’ email address |
| paypal.api.sandbox | true or false. Set to true for local environment |
| paypal.api.user | The PayPal API username |
| paypal.api.password | The PayPal API password |
| paypal.api.signature | The PayPal API signature |
| ip2country.lookup.data.filename | The GeoIP country lookup location e.g. C:\Paperight\Resources\data\geoip\GeoIP.dat |
| pdf.file.folder | The PDF files folder e.g. C:\Paperight\Resources\data\pdfs |
| licenced.pdf.file.folder | The licences folder e.g. C:\Paperight\Resources\data\pdfs\licences |
| jacket.image.file.folder | The jacket images file folder e.g. C:\Paperight\Resources\data\jacket_images |
| princepdf.executable.location | The prince PDF executable location e.g. C:\DevTools\Prince\Engine\bin\prince.exe |
| Property | Value |
|---|---|
| jdbc.driver.className | com.mysql.jdbc.Driver |
| jdbc.url | The URL to the local database e.g. jdbc:mysql://localhost/paperight |
| jdbc.username | The database username |
| jdbc.password | The database password |
| Property | Value |
|---|---|
| jdbc.driver.className | com.mysql.jdbc.Driver |
| jdbc.url | The URL to the local database e.g. jdbc:mysql://localhost/paperight |
| jdbc.username | The database username |
| jdbc.password | The database password |
| Property | Value |
|---|---|
| jdbc.driver.className | com.mysql.jdbc.Driver |
| jdbc.url | The URL to the local database e.g. jdbc:mysql://localhost/paperight |
| jdbc.username | The database username |
| jdbc.password | The database password |
| batch.jdbc.testWhileIdle | true or false |
| batch.jdbc.validationQuery | Query for validation e.g. SELECT 1 |
| batch.schema.script | classpath:/org/springframework/batch/core/schema-mysql.sql |
| batch.drop.script | classpath*:/org/springframework/batch/core/schema-drop-mysql.sql |
| batch.business.schema.script | Blank |
| batch.database.incrementer.class | org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer |
| batch.data.source.init | true or false |
| batch.remote.base.url | The base URL for batch server e.g. http://localhost:8090/server/batch |
Select a Tomcat server configuration that you wish to run, and click ‘Run’ to start the application.
Alternatively, in an IDE such as Eclipse, right-click on the project and select Run As -> Run on Server to start the application.
The Paperight project is managed by Arthur Attwell at Electric Book Works. Read the Paperight story or visit the blog.
- The publications on the website
- Adding documents to Paperight
- Automated HTML PDF conversion
- Automated PDF PDF conversion
- CSV & Metadata management
- Papercat browsing categories
- Products: Edit products
- Products: Product Ownership
- Scrubbing HTML from epub files
- Working with documents
- What does this website do?
- Introducing the website
- Finding a publication
- Forgotten passwords
- How can I use this website to start and sustain a business?
- How do I change my email address?
- How to buy a book
- How to print marketing posters
- How to register and log in
- How to top up your account
- How to use this service to grow your business
- Is this legal?
- Printing a PDF
- Buying a licence
- Can I be the only outlet to sell books this way in my area?
- Searching
- The publications on the website
- What do Paperight print outs look like?
- Publishers Guide
- Forgotten passwords
- How are publishers paid?
- How do I change my email address?
- How do I get my publications onto Paperight?
- How to register and log in
- What about the publisher's copyright?
- What do Paperight print outs look like?
- What do publishers earn?