GithubHelp home page GithubHelp logo

my-language-skills / all-in-one-metadata Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 4.0 11.93 MB

Educational Metadata for Pressbooks

License: GNU General Public License v3.0

PHP 85.34% CSS 10.52% JavaScript 4.15%
google-scholar metadata pressbooks schema wordpress wordpress-plugin

all-in-one-metadata's People

Contributors

colomet avatar danzhik avatar masaka222 avatar mashroofa avatar uzair043 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

all-in-one-metadata's Issues

stadistics about the books for administrators - editors

A place where we could se the number of books in each category (back-end and front-end) and acces to the books. For each type we have several options, the list of all the books with each elemento fo the vocabulary for each type)

Check pressbooks version

To build a function that checks the version of pressbooks that we need, in order for the plugin to run

WebSite schema on header

Normally we would put the WebSite code in the footer_function as the rest of the code, with an if statement if ( is_home() ).

screen shot 2017-05-03 at 15 12 34

The problem is that in the html of the root page, the and tags are being produced twice so our microdata code is being produced twice too. (wp_footer action is being triggered after the tag)
We need to add the code for the WebSite to a new function that will be called in the header().

BUGS

Author from PB Chapter metadata instead of WP
Schoolar articlo: headline from PB Chapter Subtitles instead of Site subtitle

Pre Alpha

To use the old plugin as a base for the new one.

Change the order of the key-values in arrays

In class-pressbooks-metadata-plugin-metadata.php we can change the order for example from

$book_info_data = array(
	'pb_cover_image' 	=>	'image',

to

$book_info_data = array(
	'image' 	=>	'pb_cover_image',

just to do it the same way as pressbooks does

citation metabox

New metabox in the chapter level with bibliography links (and Add New like the contributing authors).

Rename the files inside concrete metadata folder

The name of the file is too big. Now it represents the name of the metabox the fields are inside, but we can rename it to "class-pressbooks-metadata-course-metadata.php" to represent the schema type that all these fields are being used to.
Then change the name in the hook inside class-pressbooks-metadata.php too.

prefix the plugin fields

We need to prefix the field-names of the fields we use, in order to make them more clear and understandable. This way when we see for example:

  • pb_author
  • s_md_author

We can understand that the first field is from pressbooks and the other one is from the plugin.
A good approach for now is "s_md" from metadata

prefix the functions

We need to use our prefix s_md not only to the fields like we did in 0.5 but to our functions too.

to organice the plugin for an easy extension of the types

it is easy to extend the current types for one specific class? if somebod need to add just one type, is it easy to do and also the code is commented and also there is information in the documentation?

what about another class. it is easy to extend with another class?

do we follow all the wordpress standards?

Activate Excerpt and feature image on PB

To activate excerpt and featured image section in post level, so we can attach the schemas "about" and "image" from CreativeWork in ScorarlyArticle properly.

Proposal of audio metabox

Create an audio metabox so that we can add audio files and use them in the schema with the "audio" property.

<div itemscope itemtype="http://schema.org/AudioObject">
  <span itemprop="name"><b>12oclock_girona.mp3</b></span>
<script type="text/javascript">
  var fo = new FlashObject("http://google.com/flash/preview-player.swf",
  "flashPlayer_719", "358", "16", "6", "#FFFFFF");fo.addVariable("url","http://media.freesound.org/data/0/previews/719__elmomo__12oclock_girona_preview.mp3");fo.addVariable("autostart", "0");fo.write("flashcontent_719");
</script>
<meta itemprop="encodingFormat" content="mp3" />
 <meta itemprop="contentUrl" content="http://media.freesound.org/data/0/previews/719__elmomo__12oclock_girona_preview.mp3" />
<span class="description">
      <meta itemprop="duration" content="T0M15S" />
      <span itemprop="description">Recorded on a terrace of Girona a sunday morning</span>
</span>
</div>

Add new documentation file

Write a new analytic documentation file about the schema properties that we use. It needs to be like a map with a url to the schema.org site in every property

Alpha

  • To make the old plugin work.
  • Move the fields from the General Book Information Box to a new one.
  • Put information from the post to our Chapter microdata.

Extend and finish the Course Property

The 3 different properties we can add are:

  • courseCode (Course Code can be a text field)

  • coursePrerequisites (These are the requirements for taking the course. We will build a new field under Educational level, and it will use the same framework)

  • hasCourseInstance (This one uses courseMode and instructor. For more information see https://schema.org/CourseInstance)

meet minimun requeriments

Now
if: PB is not installed = do not work (warming in admin)
if: PB is lower than X = do not work (warming in admin)
else
do something = do something is not created (we did use mPDF as example and it would require to charge files in order to start)

class-pressbooks-metadata-admin.php
class-pressbooks-metadata.php

To export/import the metadata

If we make a migration of the conten, we need to be able to export and import the metadata of the book.

The id of the metadata will be the name of the post. Not the ID of the post, because afther the migration, the ID will be different for each topic, but the name will be always the same.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.