Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 5 Nächste Version anzeigen »

This section of the wiki aims to document what we have learnt about the Open Journal System (OJS), which is used as the technological platform to publish the journal "Proceedings of the MEi:CogSci Conference".

Why? OJS is free and open source software (FOSS) platform reliably updated by its developing team. Sometimes it's not straightforwardly intuitive, but this is why we are gathering the knowledge here, so we can quickly find what you need if one of us knows (Zwinkern) 

Backend - OJS Database

Schedule and tasks

Of what is needed and when, and the data fields we were using last year by web scrapping the interface.

P (Priority) 1=very important, an amazing time saver and error tracker, 2= it would be great, 3= it would be nice but we can do it manually.

 

Phase

P

Tasks

Data fields in our checking tables

Query URL

01.05

Author's Registration

3

For a given set of email addresses (or names): Check who is not registered, who is registered with a misspelled or non-university email address, who has started a submission and if the submission type (poster vs. talk) is correct. Send reminders and correct issues.

Other tasks before the 01.05:

Author, email address, submission ID (& link), submission title, if the submission abstract text field is filled, and if they actually pressed the button to submit).

Reminder: We would only be interested in the new submissions (i.e. between 01.05.2024-01.07.2024).

List of the Submissions (similar to the tab "Submission" in the Excel)

Whiteboard#Checkwhois(not)registered

10.05

Submission of Abstracts

2

+who sent the submission.

15.05

Assignation of reviewers

1

Create a table of who reviews who given a set of rules.

Check all submissions have been assigned at least 3 or more reviewers (2 random students and 1 university designated teacher).

Check each author has been assigned to review two other authors.

submission ID (& link), submission title, author, number_assigned_reviewers, reviewer1_name, reviewer2_name, reviewer3_name (instead of name it can be an email address or user ID that allows to trace them), reviewer4_name (4th reviewer is not always applicable, for exceptions)


Note: We can count on a separate table author, times_assigned_as_reviewer, by counting how many times do they appear as reviewers in the table above.


21.05

Revision of reviews

1

Check which reviewers have sent their reviews, to (1) send reminders to those reviewers who have not submitted them and (2) assign 4th reviewers if needed be. Revise several times.


Extra: Check if teachers have submitted all their reviews.



+ r1_status, r2_status, r3_status, r4_status (submitted or not), r1_details, r2_details, r3_details, r4_details (“Recommendation: Revisions Required”, ”Recommendation: Accept Submission”) 


R=reviewer


List similar to the tab "Data_review" in the Excel)


24.05

Approved & forwarded reviews

1

Count how many reviews have been submitted overall and how many are left.


31.05

Submission of Final Abstracts

2

Check all abstracts are submitted and uniformize their content, assign them to an issue.



The earlier the better

Conference Preparation (Schedule, badges)

3

To update the schedule: Extract list of submissions by type (poster vs. talk) and authors.

To make the badges: Extract list of submission

Submission link, submission title, author surname

Author name & surname, affiliation

how to find titles after publication.sql

Deadlines and author guidelines for the Proceedings of the MEi:CogSci Conference.

How To Connect 

Configure access to the database for the first time (requires EDV / IT expertise and permissions).

Software

VPN (if working from home office, BigIP & FreeOTP), tunnel (PuTTY) and database administration tool (DBeaver).

The software between parentheses has been tested for compatibility with our university laptops, but alternatives are possible.

Steps

  1. Connect to VPN if you are not in the university: BigIP + FreeOTP to verify your identity.
  2. Open tunnel connection: PuTTY (bottom right button "Open" if you already established a session on your first time).
    1. It will open a black terminal window. That's alright, don't close it until you finish and save your work.
  3. Open database management and SQL editor: DBeaver ("SQL" button on the upper left side).
    1. You are ready to type or upload (F3) your queries partying face 

MySQL

We use MySQL to communicate or retrieve data from our database. Check our sub-page MySQL Basics.

Tables

Useful notes to navigate the chaos smiling face with smiling eyes For all those tables used in scripts and related queries.

Columns are formatted in italics. Crucial columns are highlighted in bold italics.

author_settings

Nested structure: columns setting_name and setting_value, linked by author_id.

  • setting_name = "familyName", "givenName", "affiliation", "country", "orcid", "url" or "biography"

  • setting_value = correspondent values (e.g. "Delgado Mas", "Elisabet", "University of Vienna", "AT")

Queries:

SELECT * FROM ojs.authors

SELECT email FROM ojs.authors x WHERE author_id = 256

authors

Links author_id with:

email

publication_id

user_group_id = Related to permissions. 2 (evelyn.gasiorek), 3 (elisabeth.zimmermann, a11934638 / lena mueller), 14 (most users), 36 (edv.philosophie, einradritter / udo schimanofsky), 48 (evelyn.gasiorek, lena.mueller-naendrup, elisabet.delgado.mas, tutors).

seq = order the author appears on the paper

A single user / author / standard student has two rows in this table, and two different author_id values! One row is for their first year publication and the other for their second. Example: Elisabet Delgado Mas (a12013592 add unet.univie.ac.at) has one row in the authors table with author_id = 270 and publication_id = 147 ("EMG reproducibility using neuronavigated TMS"), and another row with author_id = 525 and publication_id = 328 ("Human-AI Interaction").


publication_settings 

Nested structure: columns setting_name and setting_value, linked by publication_id (≠submission_id) .

  • setting_name = "abstract", "title", "prefix", "subtitle", "categoryIds"

  • setting_value = correspondent values (e.g. "Delgado Mas", "Elisabet", "University of Vienna", "AT")

publications

Links publication_id with everything else, including:

submission_id = XXX (e.g.368)

last_modified = YYYY-MM-DD HH:MM:SS.000

date_published = YYYY-MM-DD

seq

doi_id

last_modified can be used in the query as a filter for the submissions of the current year (e.g. AND p.last_modified >= '2024-03-03 00:00:00';).

submission_id can be used to create the links to the backend and the frontend of each submission:

Can we see if the doi are being automatically assigned in the doi_id? Does it link to the tables doi_settings and dois?


issue_settings

Nested structure: columns setting_name and setting_value, linked by issue_id.

  • setting_name = "description", "title"

  • setting_value = "", " Proceedings of the MEi:CogSci Conference"

issues 

Links issue_id with everything else related to an issue, including:

year = 2022 for issue_id = 8. 2023 for issue_id = 13.

date_published, last_modified =  YYYY-MM-DD HH:MM:SS.000

journal_id = The number of our OJS journal within the university, 3.

volume  = 16 for issue_id = 8. 17 for issue_id = 13.

published, access-status, show-volume, show_number, show_year, show_title = 1.

url_path, doi_id = NULL


users 

Links user_id with everything else related to a user, including:

username

password

email

date_registered

date_last_login   

user_settings

Similar to author_settings.

  • setting_name = "familyName", "givenName", "affiliation" + "preferredPublicName"

  • setting_value = correspondent values (e.g. "Delgado Mas", "Elisabet", "University of Vienna", "")

sections

(journal_id = 3, ours)
3
4
7
8
(journal_id = 4, who knows)
5
6

(SECTION_id inside of submissions > publication_id)

seq

It means order.
Values: 1,2,3,4
Section_ids: 7, 8, 3, 4
Corresponding to: Workshops, plenary talks, talks, posters.

Scripts

Scripts Linked List

Repository of scripts (ready to upload to a database manager, and tested)

Scripts Documentation

Single line comments start with --

File-paths-given-issue.sql

File-paths-given-issue.sql

f.path from (select publication_id from publication_settings 

where setting_name = 'issueID' and setting_value = 13)

--We have published . 
Issue 2023
where setting_name = 'issueID' and setting_value = 13
Issue 2022
where setting_name = 'issueID' and setting_value = 8

get-authors-and-submissions.sql

(almost ready, on Eli's laptop)

authors-registration.sql

05-01_authors_registration.sql


...


On the making

Scripts we have not yet managed to finish.

  • ...

Quick useful queries

-- Given submission_id, provide the backend and frontend links of its submission. Change 368 for your n.

SELECT p.submission_id,

p.publication_id,

CONCAT('https://journals.phl.univie.ac.at/meicogsci/workflow/access/', p.submission_id) as 'url_backend',

CONCAT('https://journals.phl.univie.ac.at/meicogsci/article/view/', p.submission_id) as 'url_frontend'

FROM publications p

WHERE p.submission_id = 368

-- WHERE p.publication_id = 328

-- Given one of the user's author_id, show their email and both publications. Change 270 for your n.

SELECT a.email, a.author_id, a.publication_id

FROM authors a

WHERE email = (SELECT email FROM authors WHERE author_id = "270")


-- Given one of the user's author_id, show their data (familyName, givenName, affiliation, country) for both publications. Change 270 for your n.

SELECT DISTINCT a.email, a.author_id, a.publication_id, ase.setting_value

FROM authors a, author_settings ase

JOIN (SELECT author_id, setting_value FROM author_settings WHERE author_id = "270") as aaf

ON ase.author_id = aaf.author_id

WHERE email = (SELECT email FROM authors WHERE author_id = "270")


-- Check which users have the permission most tutors had.

SELECT * FROM authors WHERE user_group_id = 36;


Annexes

Tables used

These are the tables in our database.

  1. Most of these might be empty or merely not used. 
  2. We highlight in bold the ones we have been using in successful queries.
  3. We highlight in italics the ones in which we have found data that we have not yet managed to explain, but which may become relevant.
  • Authors
  • access_keys
  • announcement_settings
  • announcement_type_settings
  • announcement_types
  • announcements
  • auth_sources
  • author_settings
  • authors
  • books_for_review
  • books_for_review_authors
  • books_for_review_settings
  • captchas
  • categories
  • category_settings
  • citation_settings
  • citations
  • comments
  • completed_payments
  • controlled_vocab_entries
  • controlled_vocab_entry_settings
  • controlled_vocabs
  • custom_issue_orders
  • custom_section_orders
  • data_object_tombstone_oai_set_objects
  • data_object_tombstone_settings
  • data_object_tombstones
  •  dataverse_files
  •  dataverse_studies
  •  edit_assignments
  •  edit_decisions
  •  email_log
  •  email_log_users  
  •  email_templates
  •  email_templates_default
  •  email_templates_default_data
  •  external_feeds 
  •  external_feed_settings 
  •  email_templates_settings 
  •  event_log 
  •  event_log_settings 
  •  failed_jobs
  •  files 
  •  filter_groups 
  •  filter_settings 
  •  filters 
  •  genre_settings 
  •  genres 
  •  group_memberships 
  •  group_settings 
  •  groups 
  •  institutional_subscription_ip 
  •  institutional_subscriptions 
  •  issue_files 
  •  issue_galley_settings 
  •  issue_galleys 
  •  issue_settings 
  •  issues 
  •  item_views 
  •  jobs 
  •  journal_settings 
  •  journals 
  •  library_file_settings 
  •  library_files 
  •  metadata_description_settings 
  •  metadata_descriptions 
  •  metrics 
  •  mutex 
  •  navigation_menu_item_assignment_settings 
  • navigation_menu_item_assignments
  •  navigation_menu_item_settings 
  •  navigation_menu_items 
  •  navigation_menus 
  •  notes 
  •  notification_mail_list 
  •  notification_settings 
  •  notification_subscription_settings 
  •  notifications 
  •  oai_resumption_tokens 
  •  object_for_review_assignments 
  •  object_for_review_persons 
  •  object_for_review_settings 
  •  objects_for_review 
  •  paypal_transactions 
  •  pln_deposit_objects 
  •  pln_deposits 
  •  plugin_settings 
  •  processes 
  •  publication_categories 
  •  publication_galley_settings 
  •  publication_galleys 
  •  publication_settings 
  •  publications 
  •  queries 
  •  query_participants 
  •  queued_payments 
  •  referral_settings 
  •  referrals 
  •  review_assignments 
  •  review_files 
  •  review_form_element_settings
  •  referral_settings 
  •  referrals 
  •  review_assignments 
  • review_files
  • review_form_element_settings
  •  review_form_elements           
  •  review_form_responses                    
  •  review_form_settings 
  •  review_forms 
  •  review_object_metadata 
  •  review_object_metadata_settings 
  •  review_object_type_settings 
  •  review_object_types 
  •  review_round_files 
  •  review_rounds 
  •  roles 
  •  rt_contexts 
  •  rt_searches 
  •  rt_versions 
  •  scheduled_tasks 
  •  section_settings 
  •  sections 
  •  sessions 
  •  site 
  •  site_settings 
  •  stage_assignments 
  •  static_page_settings 
  •  static_pages 
  •  subeditor_submission_group 
  •  submission_artwork_files 
  •  submission_comments 
  •  submission_file_revisions 
  •  submission_file_settings 
  •  submission_files 
  •  submission_search_keyword_list 
  •  submission_search_object_keywords
  •  submission_search_objects 
  •  submission_settings 
  •  submission_supplementary_files 
  •  submission_tombstones 
  •  submission_xml_galleys 
  •  submissions 
  •  subscription_type_settings 
  •  subscription_types 
  •  subscriptions 
  •  temporary_files 
  •  theses 
  •  usage_stats_temporary_records 
  •  user_group_settings 
  •  user_group_stage 
  •  user_groups 
  •  user_interests 
  •  user_settings 
  •  user_user_groups 
  •  users 


Backend - OJS Exports

We have prepared a sample of exports here, protected by password. 

The folders in which they are contained include descriptions of the items selected for export and the encountered problems.

At this point, the main issue with OJS exports is that this mainly focus on published articles already assigned to an issue, a step undertaken only after the review phase.

They have been obtained through:

TOOLS

Exporting XML tools, basically.
https://journals.phl.univie.ac.at/meicogsci/management/tools

    Crossref XML Export Plugin: Export article metadata in Crossref XML format.
    DataCite Export/Registration Plugin: Export or register issue, article, galley and supplementary file metadata in DataCite format.
    PubMed XML Export Plugin: Export article metadata in PubMed XML format for indexing in MEDLINE.
    DOAJ Export Plugin: Export Journal for DOAJ.
    Native XML Plugin: Import and export articles and issues in OJS's native XML format.
    Users XML Plugin: Import and export users

STATISTICS: REPORTS

Exporting CSV tools, basically, of mostly quantitative data.
https://journals.phl.univie.ac.at/meicogsci/stats/reports

    Subscriptions Report
    Articles Report
    COUNTER Reports
    Review Report

Backend - Web scrapping 

Link to the code, documentation and example of result.

Software

We used Python to code a script to web scrap the frontend interface of an admin user with Selenium and Chromedriver.

Therefore, to use this you need to install Python, Selenium and Chromedriver.

Execute

To execute the script, open two terminal windows.

  • In one, execute Chromedriver.
    • Command (example):
      /Users/edm/Documents/python/drivers/chromedriver

  • In the other, execute python and your code.
    • Two commands (example):
      cd "/Users/edm/SYNC/CogSci/Assignatures/2023/Work UniWien/Code"

      python PyOJS.py


You have to adapt this to the folder paths in your computer. 

FOLDERPATH_WHERE_YOU_INSTALLED_PYTHON/python/drivers/chromedriver

cd FOLDERPATH_WHERE_YOU_HAVE_SAVED_PyOJS.py

Result

The result of the script is the document check_table.CSV.

The following steps to make it readable [in a Mac] and to avoid problems with the inherently varied characters of our international students' names (Slovak, Slovene and worldwide characters beyond the English alphabet) are:

  • Open Microsoft Excel.
  • Create a new empty document. 
    File > New.
  • Import CSV. 
    File (upper bar) > Import > (Select document). 
  • Configure import in the pop-up window:
    • Select "Delimited" + Select for File Origin: "Unicode (UTF-8)". Next.
    • Select "Semicolon". Next.
    • Paste the content in the first cell of the document.
      THE DOC IS READY.

To copy paste in Google Spreadsheets or other cloud spreadsheet:


Voilà, congratulations (Zwinkern)


Frontend: OJS Dashboard & Website

View of the homepage of the website (left) and the dashboard (right) of an advanced user. The changes in the website have to be done and saved from the dashboard. Find below a written tutorial on where to find what.

Homepage of the websiteDashboard of the user


Inside of the dashboard, you can navigate the options through the left side menu, whose items will be in UPPERCASE titles in the following sections.

If you have admin permissions, this is what you should see:

SETTINGS: JOURNAL

> TAB: MASTHEAD

Change:
-the name or title of the Journal
-the tag [ProcMEiCogSci], which appears in the beginning of the emails sent through OJS.
-the journal URL.
-the journal ISSN.
-the text "Journal Summary", which appears in the homepage.
-the text "Editorial Team", which appears in the page About > Editorial Team 
-the text "About the Journal", which appears in the page About > About the Journal

> TAB: CONTACT

Change the journal contact data (currently set to meicogsci@).

> TAB: SECTIONS

Currently established sections: Plenary Talks, Workshops, Poster Abstracts, Talk Abstracts, Editorial (prologue).

For each section, you can: 

-Change its names.
-Set word limit.
-Pre-define a default review forms (MUST DO*).
If you unfold the options of each section (clic little triangle on its left and "Edit").

*Eli's note for the 2025 team:
Before May, create a new review form for 2025 and assign it as the default to the Talk and Poster sections. You will save yourselves the task of assigning it manually for every reviewer for every submission, about 360 times ;) This new review form has to include the minimal textual changes required and agreed in the Coordination-Consortium meeting June 2024 (you may ask @Lisl or check the notes stored in the MEi:CogSci Consortium Google Drive). 

> TAB: CATEGORIES

Eli's note for the 2025 team:
We don't know what they do. But have a look at their possibilities on "how to order articles in this category: Title (A-Z)" to see if we could avoid the task or reordering all the articles manually just before publishing the issue.
For more info: https://docs.pkp.sfu.ca/learning-ojs/en/journal-setup#categories

SETTINGS: WEBSITE

In this section there are many many tabs, sometimes inside of other tabs. This is why we will structure this section on the wiki not by tabs but by where you can find each feature, so it's most helpful slightly smiling face 


Change some of the design of the homepage, how the whole website looks and how to customize its design:

WhatWhere
-Font. 
SETTINGS: WEBSITE > APPEARANCE > THEME: "Typography".
-Logo.SETTINGS: WEBSITE > APPEARANCE > SETUP: "Logo".
-Background color for the header (MEi:CogSci color). SETTINGS: WEBSITE > APPEARANCE > THEME: "Colour".
-Content of the header. (It's just the Logo)
-Content of the footer. 
SETTINGS: WEBSITE > APPEARANCE > SETUP: "Page Footer".

-Favicon (customized to MEi:CogSci, tiny image in the Internet browser tab)

...



...

-Journal Style Sheet (which we have not tried, but may allow CSS?)


> APPEARANCE >> ADVANCES














 
 Change the structure/architecture/navigation (what page is inside of which and its URL) of the website:

-Main menu ("Primary Navigation Menu").

SETTINGS: WEBSITE (on the left bar) > SETUP (upper tab) > NAVIGATION (left-central tab)

-Secondary menu ("User Navigation Menu").













-Right Sidebar elements in the homepage (Language Toggle Block: "Deutsch, English", Information Block "For Readers, For Authors, For Librarians", Developed By Block "Open Journal Systems" and a Subscription Block that actually doesn't appear, right?)SETTINGS: WEBSITE (on the left bar) > APPEARANCE (upper tab) > SETUP (left-central tab inside) > Scroll to the bottom.


Eli's note:

Beware there are two sections called "Setup". In the picture we are in SETTINGS: WEBSITE (left bar) > APPEARANCE (tab in the upper part) > SETUP (tab inside appearance, on the lef-central part) > "Logo".


> SETUP

> PLUGINS

STATISTICS
Menu arquitecture
Permisions


SUBMISSIONS

It's where you can see and do everything related to the particular submissions of the author abstracts and reviews.

ISSUES

Mostly relevant just before the last step for publishing the issue (June), to rearrange what you see here:

WhatWhere (in the dashboard)

Edit the configuration of an issue (name, date of publication, volume - formal number).

Add a cover image and some text about this issue.

ISSUES > Back Issues or Future Issues tab, click on your issue > "Issue Data" tab

Order the abstracts within each section in the right order.

In 2024, by author surname, manually once an issue is created and after all submissions have been assigned.

ISSUES > Back Issues or Future Issues tab, click on your issue > "Table of Contents" tab > upper right button "Order"

Order the sections.

In 2024, the order set is:

  • Editorial 
  • Plenary Talks
  • Workshops
  • Poster Abstracts
  • Talk Abstracts
ISSUES > Back Issues or Future Issues tab, click on your issue > "Table of Contents" tab > upper right button "Order"


Eli's note for team 2025:

It's worth noticing the actual issue ID in the URL is not the same as the formal number "Identification Volume". E.g. 

And the ID in the URL changes every time the issue is unpublished and published again (be wary of this).

ANNOUNCEMENTS

Add or modify the announcements / posts that appear in the website.

STATISTICS

About the number of users, editorial activity etc. Mostly exportable in CSV format (and from there to Excel).

Interestingly:
-Most visited articles
https://journals.phl.univie.ac.at/meicogsci/stats/publications/publications 





Activity Log

09.07.2024

Elisabet Delgado Mas

Backend documentation on OJS.

02.07.2024

Elisabet Delgado Mas

Frontend documentation on OJS.

27.03.2024

Elisabet Delgado Mas

  • Goal: Explore database, create table documentation, get first scripts.
    • Elisabet Delgado Mas Create table documentation.
    • Elisabet Delgado Mas Create queries that:
      • Given submission_id, provides the backend and frontend links of its submission.
      • Given one of the user's author_id, show their email and both publications.
      • Given one of the user's author_id, show their data (familyName, givenName, affiliation, country) for both publications.
      • Give list of users with a given permission.
    • Elisabet Delgado Mas Create script that gets authors and submissions.

19.03.2024

Elisabet Delgado Mas Evelyn Fischer

12.03.2024

Elisabet Delgado Mas Evelyn Fischer

  • Set-up wiki. Update procedure. Discuss feedback. 
  • Update first script: File-paths-given-issue.sql
  • Homework (to be done before the meeting):
    • Evelyn Fischer Create and share a wiki page.
    • Elisabet Delgado Mas Create for EDV a schedule of what is needed and when, and the data fields we were using last year by web scrapping the interface.







  • Keine Stichwörter