Technical Documents

P3Source System Technical Overview

Overview

The P3Source system has two basic system functions:

  1. A print procurement/production database
  2. A supply-chain communication system

The Print Procurement/Production Database

This component of the system is a software program that runs on the end-users computer. The system helps users track and store information concerning print production projects that they may be managing.

The P3Source system operates as an “end user” or distributed computing solution. In Enterprise (multi-user) mode, the application still operates locally on the client system(s) but accesses a shared set of data files stored in a common storage location. That “shared data folder” can be on a local area network or be hosted on the P3Software NetPlus server.

The Supply-Chain Communications System

The P3Source system has tools that allow the user to generate email messages for business partners outside their firm. These messages relate to the procurement and management of the print projects listed in the user’s P3Source database. In addition, other communications systems are used to maintain and license the application.

Application Operations

The P3Source system’s application files are stored and operated on the end user’s local computer system. All the P3Source files are stored and operate from a single file folder, with the exception of a desktop “shortcut” or “alias”. In multi-user mode shared data is also stored separately. P3Source requires no registry settings to operate, that is all handled by Java.

P3Source is a Java based application. This makes the P3Source system truly cross-platform application, running the same executable code on both the Windows and Apple Macintosh operating systems (as well as Unix/Linux). Applications written in the Java language can run on any computer equipped with a Java Virtual Machine (JVM). The JVM takes the Java instructions from the application and converts them into instructions for whatever operating system the JVM is running within.

The core P3Source Java code is compiled and contained in a single application file with the “.jar” extension. All this means that the computer running P3Source must have an up to date JVM. P3Source will run on computers with a JVM that conforms to the Java 1.4.1 or higher standard (we recommend using the latest available java version).

Windows based computers often need an upgrade from the old version of Java that Microsoft ships. Our standard Windows installer has a P3Source installer and link to the Sun web site (www.sun.com) where Java can be obtained for free.

Macintosh OSX generally has Java 1.4.1 or better installed as part of the operating system and does not need to be updated to run P3Source. However, Apple does release Java updates from time to time which should be installed.

Application Files

Windows

  • p3expeditor.jar – the main P3Source application.
  • p3expeditor.ico – the application Icon file.
  • Uninst.isu – a file used by install shield to uninstall P3Source.
  • .jpg files – graphics files used within the application periodically updated from the P3Server (see communications).

Macintosh OSX

  • p3expeditor.jar – the main P3Source application.
  • p3expeditor.ico – the application Icon file.
  • .jpg files – graphics files used within the application periodically updated from the P3Server (see communications).

Data Files

Data files for this application are stored on the end user’s computer, except when P3Source is run in Enterprise mode. All data and application and data files are expected to be in the same folder/directory with the default path:

Windows(XP, ME, 98, 2000) - "C:\Program Files\P3Software\P3Expeditor"

Windows(Vista) - See separate article on Vista installation.

Mac – "/Applications/P3Expeditor OSX Folder"

In Enterprise mode, some data files are stored in a common storage location rather than the end user’s computer. P3Source creates several types of data files to store information and settings from the routine use of the system. These include:

  • All P3Source versions:
  • userinfo.p3x – this file is always stored with the application and contains user identification, user settings and user licensing data. This file contains plain text data type with tags to identify various data elements.
  • suppliers – this file contains data on portfolio of suppliers that a user may use to send information to. This file contains plain text data type with tags to identify various data elements.
  • clients – this file contains data on portfolio of clients that a user may use to send information to. This data is accessed from the proposals and invoices modules. This file contains plain text data type with tags to identify various data elements.
  • Items.xml – this file contains a list of item codes that are used to classify various print jobs stored in the system. This file contains plain text data type with XML tags to identify various data elements.
  • projects.inx – maintains a list of jobs for use on the Job List and Schedules functions. This file contains plain text data type with fixed field positions. It is accessed on a random access basis for updates. (N.B. some low cost network storage devices do not access files efficiently on a random access basis. This can cause performance issues.)
  • .tpl files – these files are the text templates used by the flexi-spec system. Plain text data type.
  • .PRJ files – job Files, the file name is an 8 digit number based on the time/date of creation. This file contains plain text data type with XML tags to identify various data elements.
  • .ARC files – deleted job files.
  • Enterprise multi-user version files:
  • network.xml – Enterprise multi-user version only. This file resides in the shared resource directory and defines who may use the other data files in that directory. This file contains plain text data type with XML tagging to identify data elements.
  • .LOK files – Enterprise multi-user version only. These files are created in the shared network resource folder to prevent conflicting access to network resources.

Communications

The P3Source system communicates with a public server hosted by P3Software called the P3Server. P3Source generally operates independently from the P3Server and can be operated without communication services at all. The communication services, however, allow direct email communication from the application and a number of other useful services. These communications serve several purposes:

  • Obtaining and validating product licensing
  • Sending out email communications to suppliers, clients and other parties
  • Obtaining price information that suppliers have posted on the P3Server
  • Obtaining information about new product version releases
  • Obtaining new versions of the software
  • Obtaining graphics and web-links for use within the application

All communications between P3Source client software and the P3Server are conducted using standard HTTP protocol. Communications sent from P3Source are sent with an identifying “user agent” of “P3Expeditor/1.0”. Rather than the “Mozilla” user agent commonly used by web browsers.

Proxy Servers

P3Source has built in provisions for communicating through common network Proxy Servers. The settings for this feature are displayed within the “My Settings” section of P3Source. These settings include:

  • Use Proxy Settings – a simple check box.
  • Proxy Host – holds the IP address of the proxy server within the local network.
  • Host Port – Holds the port number on the proxy server that communications should be addressed to.
  • UserID – The user’s proxy server/network user name.
  • Password – The user’s proxy server/network password to authenticate outbound access privileges

Once established proxy server settings are rarely adjusted unless the user’s password changes. A set of P3Source proxy server set up instructions are posted on the P3Software website.

Multi-User Networking

The P3Source Enterprise and NetPlus licenses allow multiple users to share project data stored in a “shared file folder”. This folder can be on a local area network or on the P3Software NetPlus server. Each separate P3Source client accesses the shared data files independently. For enterprise configurations there is no server software to operate. With Net Plus the P3Software NetPlus server hands out the files when requested.

For Enterprise configurations each client installation must be configured to access the “Shared Data Folder”. This is done through the “Enterprise” panel in the “My Settings” section of P3Source. For simplicity, we advise Windows users to map a special drive letter to their storage location. On OSX it is important that the network access be turned on prior to running P3Source, otherwise the user will not see his or her files. Also under OSX network servers can be found under “Volumes” rather than the area marked “network”.

When a P3Source client designates a new network folder, the client will look for a “network.xml” file in that location. If none is found the client will create one and assume it is the first user in a group who will be accessing the folder. When a new network.xml file is created the user who created it is automatically added to the user list to get things started.

The network.xml file holds a list of users authorized to access the P3Source data files in that folder. If a user accessing the “shared data folder” is not listed in the network.xml file, P3Source will create a new user record for them with minimal rights. If the client is in the network.xml file, then they will be given privileges as defined within the file.

Network File Locking

To prevent data loss, P3Source implements a file locking system for shared network resource files. These lock files are designated by the .LOK extension after their individual file names. Generally these locks are created and removed as part of P3Source’s normal operations. However, there are cases where a lock may be left in place in error. The “Folders and Networking” panel of the My Settings” section of P3Source contains a mechanism for viewing locks and removing them. (see help section of P3Expeditor).

User Locks

Whenever a user starts P3Expeditor in Enterprise mode, a lock is created to prevent other users from using the same username (email address is used to uniquely identify users). The lock file is created in the “shared data folder” and deleted when the user “Exits” from the program using the “Exit” function on the main application screen. It is important that users shut down the P3Expeditor using the proper “Exit” function. If a user does not use the “Exit” function to shutdown P3Expeditor they will be placed in “restricted mode” and not allowed to access job files, the next time they try to start the application.

Job Locks

Each time a .prj file is opened in read/write mode a lock is created to prevent other users from editing the file. The lock is removed when the user closes the job. As with the User Lock, if the user exits improperly or crashes the system the lock must be removed manually.

Other Locks

The projects.inx, network.xml and other files in the shared folder are also locked at various times. These locks may be manually removed if they do not automatically remove themselves due to abnormal operation.

P3Source Technical Requirements

Windows

P3Source will operate on any computer with an up to date* version of Windows.

Macintosh MacOS

P3Source will operate on any computer with an up to date* version of the Mac OS.

Please Note: * "Up to date" means Operating System versions currently supported by Microsoft or Apple.

Apple iOS

P3Source will not run on Apple iOS devices such as iPhones and iPads.

Linux

P3Source can run on the Linux operating system although in practice few customers use Linux.

JAVA

P3Source requires the JAVA Runtime Engine. Java must be downloaded and installed. It can be obtained for free at https://openwebstart.com (recommended) or https://java.com.

Internet Connection

P3Source requires a reliable internet connection. Results vary by region. Speeds of 4 Mbps or better will generally provide satisfactory results.

RAM Memory

P3Source can use up to 1000Mb of RAM. So we recommend users have at least 4Gb of RAM for satisfactory performance.