As the developers of Open Journal Systems, Open Conference Systems, Open Harvester Systems, and Open Monograph Press, the PKP team are experts in helping journal managers and conference organizers make the most of their online publishing projects. PKP Publishing Services offers support for:

As a customer of PKP Publishing Services, you will not only receive direct, personalized support from the PKP Development Team, but will be contributing to the ongoing development of the PKP applications. All funds raised by PKP Publishing Services go directly toward enhancing our free, open source software. For more information, please contact us.

Forum rules
This forum is meant for general questions about the usability of OJS from an everyday user's perspective: journal managers, authors, and editors are welcome to post questions here, as are librarians and other support staff. We welcome general questions about the role of OJS and how the workflow works, as well as specific function- or user-related questions.

What to do if you have general, workflow or usability questions about OJS:

1. Read the documentation. We've written documentation to cover from OJS basics to system administration and code development, and we encourage you to read it.

2. take a look at the tutorials. We will continue to add tutorials covering OJS basics as time goes on.

3. Post a question. Questions are always welcome here, but if it's a technical question you should probably post to the OJS Technical Support subforum; if you have a development question, try the OJS Development subforum.

what rules does OJS refer to when generating usernames from imported data?

I've got a largish file (~1200 names) to load but just my test file of 20 names produces usernames of user2, user3, etc until user11 when it stops and halts with a "DB error:column 'first_name' cannot be null".

I had spaces preceeding/postceeding (?) the data for each entity. When I ripped the data out of excel as a CSV i forgot about the space char i had used as a delimiter. In hindsight, I should have used another char and globally zapped it.

fwiw: I setup the XML file in XLS, inserted columns before/after each entity to hold the tags, then exported as a CSV and am polishing it in XML CopyEditor. I do have some high-order chars buried in it and am trying to spot/replace them.

For the time being I'll try to parse out the username in the email address and use that for the proposed system username.

edit: that's a fail. Username field (e.g., adding <username>tryoutuser1</username>) is being ignored and the system is assigning 'user1' etc. when creating the new account.

edit2: username set correctly if I include a password entity (e.g. <password>ojsojs</password>). Will try a larger file with more variation in details to see if my day has started to turn around (was dreading the thought of manually adding 1200 accounts)

edit3: I tried a bigger list of 300 names but it failed after importing 10 names, halting with a "DB error:column 'first_name' cannot be null" (note: is displayed as plain text, no template/formatting accompanies the error message).

It does display the entire confirmation page correctly so it's successfully parsing the uploaded XML file. The failure occurs after that.

minor update - nothing meaningful in the logs (actually nothing at all from this subdomain so i have another issue to track down).

It happily imports 9 users, anything more and I get the "DB error:column 'first_name' cannot be null" message and it only imports the first nine names. At least I'm not getting 'user1' usernames.

I'm wondering whether it's failing because the XML file only contains the entities that I have data for? Or that PHP on this server has been hobbled in regards to creating large arrays? Ther later seems unlikely as when you upload an XML file with a larger number of names it displays them all in the 1st screen but then fails when you hit the import button.

For the time being i'm creting and importing a large number of XML files (oh the joy ) but I'll try to lodge a bug notice when I'm finished.

Sorry, but the error message you're seeing is because of the missing required entities -- if you like, you can use placeholders (you could, for example, trick the system into accepting a blank space by using something like <element><![CDATA[ ]></element>).

This particular parser doesn't care what order the elements come in, as long as they're nested properly -- but in general it's a good idea to make sure you follow the DTD, or the behavior won't necessarily be predictable.

Over the past 3 years, our journals have transitioned away from OJS to another system, and for over a year none of our editors have used the system. Now I would like to export and archive our journals' OJS peer-review information (eg, reviewer names and reviews for each ms submission, editor decisions and dates, revision history, etc), but it seems that the export documentation and plugins are aimed only at exporting published material from OJS. Can peer-review data be exported from OJS, and if so, how?