OJS 3.x directory structure

I’m working on the upgrade of an OJS installation for a client, and have a question about the directory structure of OJS 3.x. I know with 3.x there are a lot of changes to the architecture of OJS, does this include major changes to the directory structure of the product?

My client made an earlier failed attempt to upgrade from 2.4.x to 3.x, and I’m trying to ascertain if the upgrade process created some new directories that aren’t a part of a valid 2.4.x install of OJS.

For example, there is a /documents directory alongside the /files directory, and I’m wondering if this is a part of 3.x as I don’t think it was used by 2.4.x. Can anybody confirm this?

I spent some time looking over the 3.x documentation and was unable to find the directory structure for an install described anywhere. Does this exist, or do I need to gain access to a clean install of OJS 3.x somewhere that I can take a look at.

I’m setting up a copy of the client’s 2.4.x OJS site to work on the upgrade offline from their live site, and this led me to finding some directories on the server that don’t appear to be a part of the 2.4 install. Wondering if they are from the failed 3.x upgrade.

Hi @stayzuplate,

There’s no documents folder in OJS – essentially there’s what’s in the .tar.gz package, plus the files directory (specified in files_dir in config.inc.php), plus additional content in cache and public depending on what the user does with the system. Essentially this is the same model OJS 2.x used, though the files directory will have its contents rearranged during the upgrade process and the code is of course quite different in content (though overall following the same organizational model).

Alec Smecher
Public Knowledge Project Team

Thanks for the prompt response Alec. The /documents folder I’ve encountered must be a remnant of some other activity and not related to the OJS install.

I’ll peek in the package if I need to see what the final 3.x file structure is going to look like, although it might be nice for the product documentation to include a description of this to help people get their bearings with understanding where everything is located. I’m new to OJS, so this may just be my problem for now.