teachPress Enhancements for Publication Management (Updated)

PublicationThumbTeachPress is a WordPress plugin for managing courses (which I do not need here) and publications with support for BibTeX and referencing publications from posts.

The teachPress BibTeX database already contains most of the information about the publications in a structured format. So instead of manually replicating the information in a post, I decided to extend teachPress, such that I can reuse all the BibTeX information with shortcodes.

The goal was to have most standard information (authors, title, publishing information, abstract, download link) only in the publication metadata. Further information, such as related work, special comments etc. could then flexibly be added to the post as needed.

Usage

The extensions make creating a publications post very simple:

  1. Import a BibTeX file or enter the data as a new publication
  2. Complete the publication entry, e.g. by entering an abstract, keywords/tags, link to the publication, …
  3. Check „create and link new post“ at the bottom of the right column
  4. Save

This will not only create a publication, but also the associated post and link them both. All keywords of the publication will be added as tags to the publication. You can customize the created publication afterwards. For examples, have a look at my publications or a sample.

Download

The modifications are available as a patch against teachPress 4.1.0. (Update: Most of it has been integrated into teachPress 4.2. Thanks, Michael!)

Reference

  • [tpsingle] has been extended to include a link parameter (default: 1), which specifies whether a link to the publication should be added (if present)
  • is replaced by the title „Abstract“ followed by the abstract. If no abstract is present, this tag is empty. Parameters are key and id (from tpsingle). If neither key nor id are specified, the publication from the preceding tpsingle will be used.
  • BibTeX (Download)

    @{,
    keywords = {Active Networks, Active Networks, Archiving, Atari ST, Bloom Filters, Bloom Filters, Certificates, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Collaboration, Control Engineering, CRC, CRC, CRC, Data Protection, Denial of Service, Denial of Service, Denial of Service, Denial of Service, Denial of Service, Denial of Service, Denial of Service, DNS, DNS-SD, DNS-SD, DNS-SD, DNS-SD, DNS-SD, DNS-SD, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Federated Services, Federated Services, Federated Services, FPGA, FPGA, FPGA, FPGA, FPGA, FPGA, FPGA, git, Hash Tables, Hash Tables, Hash Tables, Hash Tables, Hash Tables, Hash Tables, Hash Tables, Hash Tables, Hash Tables, Identity Management, Identity Management, Identity Management, Identity Management, Identity Management, Internet of Things, Internet of Things, Internet of Things, Intrusion Detection, Intrusion Detection, Intrusion Detection, Intrusion Detection, Intrusion Detection, Java RMI, Medical Data, Middleware, Mobile Networks, Mobile Networks, Mobile Networks, Mobile Networks, Mobile Networks, Mobile Networks, Mobile Networks, MPLS, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, NAT traversal, NAT traversal, NAT traversal, Network Processors, Network Processors, Network Processors, Network Processors, Opportunistic Networks, Opportunistic Networks, Opportunistic Networks, Opportunistic Networks, Opportunistic Networks, Opportunistic Networks, Opportunistic Networks, Passwords, Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Public, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Replication, Replication, Replication, Replication, Research Data Management, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Service Discovery, Service Discovery, Service Discovery, Service Discovery, Service Discovery, Simulation, Social Networks, Social Networks, Social Networks, Social Networks, Social Networks, Software, Software, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Trust, Trust, Trust, Trust, Trust, Trust, Two-Factor Authentication, Usability, Usability, Usability, Video Chat, Video Chat, Video-on-Demand, Video-on-Demand, Video-on-Demand, Video-on-Demand, Video-on-Demand, Web Applications, Web Applications, Web Applications, Web Applications, Wireless, WPAN, X509, XML, XML, XML, XML, XML, XML, XML, XML, XMPP, XMPP, XMPP, Zeroconf, Zeroconf, Zeroconf, Zeroconf, Zeroconf, Zeroconf},
    pubstate = {},
    tppubtype = {}
    }
    
    works like tpabstract above, but with the BibTeX contents as text and as a download option.

The automatically created posts look as follows:

: . .
<!--more-->

BibTeX (Download)

@{,
keywords = {Active Networks, Active Networks, Archiving, Atari ST, Bloom Filters, Bloom Filters, Certificates, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Cloud Storage, Collaboration, Control Engineering, CRC, CRC, CRC, Data Protection, Denial of Service, Denial of Service, Denial of Service, Denial of Service, Denial of Service, Denial of Service, Denial of Service, DNS, DNS-SD, DNS-SD, DNS-SD, DNS-SD, DNS-SD, DNS-SD, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Fast Routers, Federated Services, Federated Services, Federated Services, FPGA, FPGA, FPGA, FPGA, FPGA, FPGA, FPGA, git, Hash Tables, Hash Tables, Hash Tables, Hash Tables, Hash Tables, Hash Tables, Hash Tables, Hash Tables, Hash Tables, Identity Management, Identity Management, Identity Management, Identity Management, Identity Management, Internet of Things, Internet of Things, Internet of Things, Intrusion Detection, Intrusion Detection, Intrusion Detection, Intrusion Detection, Intrusion Detection, Java RMI, Medical Data, Middleware, Mobile Networks, Mobile Networks, Mobile Networks, Mobile Networks, Mobile Networks, Mobile Networks, Mobile Networks, MPLS, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, Multicast, NAT traversal, NAT traversal, NAT traversal, Network Processors, Network Processors, Network Processors, Network Processors, Opportunistic Networks, Opportunistic Networks, Opportunistic Networks, Opportunistic Networks, Opportunistic Networks, Opportunistic Networks, Opportunistic Networks, Passwords, Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Peer-to-Peer, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Privacy, Public, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Quality of Service, Replication, Replication, Replication, Replication, Research Data Management, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Security, Service Discovery, Service Discovery, Service Discovery, Service Discovery, Service Discovery, Simulation, Social Networks, Social Networks, Social Networks, Social Networks, Social Networks, Software, Software, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Traffic Engineering, Trust, Trust, Trust, Trust, Trust, Trust, Two-Factor Authentication, Usability, Usability, Usability, Video Chat, Video Chat, Video-on-Demand, Video-on-Demand, Video-on-Demand, Video-on-Demand, Video-on-Demand, Web Applications, Web Applications, Web Applications, Web Applications, Wireless, WPAN, X509, XML, XML, XML, XML, XML, XML, XML, XML, XMPP, XMPP, XMPP, Zeroconf, Zeroconf, Zeroconf, Zeroconf, Zeroconf, Zeroconf},
pubstate = {},
tppubtype = {}
}

This can be amended as desired.

 HTML Formatting in the Abstract

<B>, <I>, <EM>, <SUP>, <SUB>, <OL>, <UL>, <LI> and <P> tags in the abstract are converted to the matching LaTeX2e codes when displaying or exporting BibTeX.

Bugs

When the automatic post generation creates a new tag, this tag is not associated with any language. If you use WP i18n (and probably also WPML, on which it is based), the tag might only work halfway:

  • Frontend: The tag linking works for the post
  • Both: The tag cloud will not show the new tag
  • Backend: The tag is not shown

You can avoid this by creating any tags ahead of time or run the following SQL command on your database after (assuming your default language is English):

UPDATE wp_icl_translations SET language_code='en'
WHERE language_code='' AND element_type='tax_post_tag';

I consider this a bug of WP-i18n; however, if anyone has a clean workaround, please let me know.

Ein Gedanke zu „teachPress Enhancements for Publication Management (Updated)

  1. Pingback: teachPress 4.2 “Blueberry Pie” – MTRV

Schreibe einen Kommentar