What data type (Article, Book Reviews, Product, etc) should I use for online course? - schema.org

On https://www.google.com/webmasters/markup-helper/u/0/ what data type should I use for an online course (such as https://www.udemy.com/aws-certified-solutions-architect-associate/)?
If I chose the closest, say Book Reviews, will Google think my online course is a book review instead?

The types Course and CourseInstance are currently in the pending extension (discussion about the terms), and they will likely be published (i.e., moved to core) in the next Schema.org release (3.2).
If you don’t want to wait, you could use EducationEvent for specific course instances, and CreativeWork for the creative work behind the course.

Here is the doku for courses from Google.

Related

Do aggregateRatings need to reference where those ratings originate or do they need to be on the same page as the individual reviews?

While the actual code markup is pretty well explained, in Google developers docs, it is unclear where in a web page or on which pages the markup needs to occur and in what relation to the actual reviews that are aggregated.
For example, I see many pages around the web that are getting rich snippets with reviews, however when you visit the page, there are no visible reviews or indication of where those reviews are coming from. (Example Google search: radio connections Los Angeles )
I think this type of implementation may be against Google guidelines, but the guidelines are unclear. Do aggregateRatings need to reference where those ratings originate? Do they need to be on the same page as the individual reviews or ratings?
I'm talking in a strict 'white-hat' way, because it seems that to get the rich snippet in Google, the aggregateRatings do not actually need to reference or be connected anything and are essentially self-contained.
The Schema.org type AggregateRating doesn’t even offer a property to reference the single ratings, or to specify the source.
On top of that, not all aggregate ratings are based on ratings that are available online. Think of ratings collected per phone, paper etc.
Anyway, the guidelines for Google’s Reviews/Ratings Rich Snippets are only documenting in which cases Google Search would consider displaying this rich snippet for your page. If you don’t follow their guidelines (e.g., you don’t provide a property "required" by Google), the worst that happens is that no rich snippet is shown (leaving aside cases of intentional misleading or spamming). Google is just one of many Schema.org consumers, and there are plenty of useful Schema.org uses that don’t necessarily comply with one of Google’s Rich Snippets.
The vocabulary Schema.org does not require any properties.

Adding School Branch to the Moodle?

I am fairly new to Moodle. I want to know if I can use Moodle for multiple Branches of a School. Say School A has different Branches A', A" .. Can we use the same Moodle install for all of them ?
I read online in forums they said we might want to have different installs for different Branches ? But I think that will be overkill. Can I not directly add a Branch Name to the login Form and show a person only his Branch's data ?
With the utmost respect, it sounds like you don't 'get' how Moodle is structured so I would suggest at the first instance that you seek assistance from a Moodle Partner, and many of them will be happy to do a free consultation, if that's any consolation.
Now to address your question.
The short answer is yes. Moodle can indeed support 'branches' as you put it.
There's three ways you can do this. The first two are relatively straight forward. The third is more technical.
Method 1. You can have a single Moodle site with each course being duplicated. So you would have courses like so:
Maths Category
Maths 101 (New Jersey)
Maths 101 (New York)
English Category
English 101 (New Jersey)
English 101 (New York)
This method is clean as it's simple to set up, but it's ridiculously high maintenance as you'll need to keep both courses up to date. Any updates will need to be applied to both courses. This is OK when you have two separate teachers that are precious about their content.
Method 2. You can have a single Moodle site, and one Moodle course per course taught at both schools, but have 2 groups in each course.
Read more about Moodle groups here: https://docs.moodle.org/23/en/Groups
This means you have one course, you make your changes once, all students will see the same thing, but the two classes will be dealt with individually in terms of learning records and collaboration.
Method 3. You can install multiple instances of Moodle on the same server. If you would like to consider this option, please contact a Moodle partner who will be able to walk you through the process - as I would suggest it's not something you can DIY.

Using the offer object and categories on a schema.org model

I'm currently working on using schema.org for the events database on my site. We don't sell anything, we just try to be able to show all kinds of events (concert, activities for children, art exhibition, etc) some of them are free, some of them are not, and for some we don't even know, and we don't often have precise information on the price(s).
So, my markup is correct according to google's testing tool, but it says I should have an offer object, and I can't seem to know how to put it. In my database, regarding prices I have these fields :
'free', an enumeration ['yes','no','not communicated']
'tariff', an optional free text field, with a price or price range, and general information about prices, like how it's cheaper for young or old people.
From what I saw, when it's free, I can simply put an offer with a price at 0, when it's not I don't have a price, or may be I have it, but something written in my own langage (not a well sorted list of numeric prices), I'm not even talking about when we don't even know if it's free or not.
so my first question is : is it possible to make a schema.org offer with so little information ?
my second problem is about categories, I have categories for my events, like for example, there's an art exhibit showing photographies, so its two categories are 'art exhibit' and 'photography' ('art exhibit' being the main one).
my second question is : how can I use those values to define my events better ? I suppose I must make my categories coincide with schema.org subevents, like musicEvents, or whatever, but I lose a little accuracy there, so I was wondering if there was another way, and I think it's not practical to change the type depending on the categories it fits in.
well, thanks in advance for reading this.
Schema.org does not require any properties, so an Offer without a price is totally fine.
Consumers of the content, on the other hand, might require certain properties/types for whatever they do.
For example, Google lists what is required for showing their Events Rich Snippet. There you can see that having an Offer for an Event (via the offers property) is optional, but if you specify it, price and priceCurrency are required for the Offer.
In general, it’s best to specify as much data as possible, so if it’s an offer but you don’t know the price, use Offer and add all other properties you can provide content for.
However, it might be the case (I don’t know it; if so, it would certainly be a pity!) that Google Search doesn’t show anything at all if you have an Offer without price for an Event, instead of "falling back" to the Event Rich Snippet that doesn’t have an Offer in the first place.

Shopping cart framework that supports multiple vendors?

I'm searching for a shopping cart or web store framework that supports multiple vendors.
There are many, many shopping cart frameworks out there: that page lists couple of hundred. In spite of the comparisons on that page, supporting multiple vendors isn't a comparison item, probably because it's a rare requirement. Separate to that page I have evaluated a few of what appear to be the top frameworks, and none that I evaluated supported this feature. Which carts would you recommend?
Commercial is okay, although I would prefer open source.
Platform (Windows, Linux, ASP.Net, PHP, Ruby... Minix, Fortran... :)) doesn't matter.
A system
where I manually add vendors who request it (instead of them freely
being able to sign up) is also okay, if there's a store where that's
possible but freely joining up isn't built in yet.
Rationale: I'd like to create an app-store like website. "App store" is a close analogy: it won't sell apps, but it will sell digital goods and I'd like anyone to be able to sell their item on the store. It's this second requirement, multiple vendors selling through the store, that I'm finding hard to satisfy.
I've used multiple shopping cart frameworks (a lot of them broken), and my favorite (which just so happens to support multiple vendors) is PrestaShop. It's free, open source, and suppports all that you asked for. Is this the framework you were looking for?
-JXP
The Wikipedia page you cited lists multiple vendor support as a column in Other Features, along with features that are pertinent to your search.
This question otherwise requires domain knowledge and likely requires multiple answers. The best I can do is offer the bounded set of software that competes directly within this space, at least according to Wikipedia.
The easiest solution for achieving your stated goal of allowing multiple people to sell on your site while exercising fine-grained control of who can and cannot do so is perhaps using WPMU's MarketPress in tandem with BuddyPress or WordPress Multisite. I'm not a die-hard fan of WordPress, per se, but that might be an expedient way for you to get to a minimal viable product and to validate your idea before shelling out the time and/or cash to custom build it from the ground up, and/or labor ad nauseam with tweaking an existing framework. MarketPress is a good plug-in that'll give you many of the features of a full-fledged e-commerce framework... BuddyPress, of course, will allow you to set up individual vendor's with their own sites under your brand. The two work together. More on MarketPress at:
http://premium.wpmudev.org/project/e-commerce/installation/
Another alternative is Jimdo's PagePartners. I haven't used it, but it looks intriguing. I like their design sensibilities, and their stated business ethos. This might be a viable option, too. The caveat being: it's not white label. More info about Jimdo's PagePartners here:
http://www.jimdo.com/pagepartner/faq/
Finally, another interesting CMS to explore is SetSeed. I think it'll allow you to launch multiple sites for each vendor via a central hub you control, and will allow you to maintain your branding within each. How, the,n any sort of renumeration would flow back to you for setting up an individual vendor's store would be up to you to figure out... This is a fairly new CMS and it looks like it's evolving smartly and rapidly. If you require some customization of it, to approach more specifically what you ask for, now might be a good time to reach out to the developer...but you might be able to think of an effective way to adapt it for your use right out of the box.
http://setseed.com/multi-site-cms/setseed-hub/
Unfortunately, none of the above is open-source--but, again, the ease by which you could get to a functional site approximating your idea may off-set that drawback. Jimdo is an open-source contributor, however. So, maybe even an e-mail to them might be a fruitful dialogue to begin. If anything, check out each of the above, and it may influence how you search for other solutions, and will at least provide some models in your own thinking or with other developers. The shopping cart is an integrated feature, I believe, in all of the above cases. With regard to giving your vendors the capacity to deliver digital goods (e-books, mp3s, etc.), check out Fetchapp.com. Very cool app. Very easy to set-up...could probably be rolled into one of the above frameworks. The frameworks would handle the issue of individual vendor profiles and/or sub-domains.

Facebook og:type meta-tags - should I just make up my own?

I'm putting the required meta-tags into my pages and I have a list I saved from facebook's documentation at https://developers.facebook.com/docs/opengraph/#types
Two problems. One is that my list of business types is, in total:
bar
company
cafe
hotel
restaurant
which is a little crazy. Every type of commercial entity in the world can be categorised as one of those five things? There's not even "store"?
That list is confirmed by this page: http://www.netmagazine.com/tutorials/optimise-your-website-facebook but my second problem is, Facebook no longer seems to be providing a list at all. The documentation says it was updated a month ago.
The tutorial holds out the interesting promise that "Facebook says that it will actively monitor the most commonly used types and add them to the list of supported og:types in due course." so it seems I can make up my own, say "store" or "supermarket" and that won't be an error.
What good or harm will it do to make up my own? What does Facebook use this metadata for anyway?
According to the .NET link article you provided, these are the types you can use:
Activities
activity
sport
Businesses
bar
company
cafe
hotel
restaurant
Groups
cause
sports_league
sports_team
Organizations
band
government
non_profit
school
university
People
actor
athlete
author
director
musician
politician
profile
public_figure
Places
city
country
landmark
state_province
Products and Entertainment
album
book
drink
food
game
movie
product
song
tv_show
Websites
article
blog
website
Now, the list is limited of course, but you can keep it generic by stating something like og:type="website" - it may sound stupid and obvious stating website as the type, but remember tht the web isn't just about web pages - there are all sorts of media to consume.
Or, as you mention, make up your own. If you're sensible about it and specify something like og:type="ecommerce", over time, this may be something others are using and will therefore become a popular choice; with the hope it becomes adopted. If it doesn't, then there's no actual harm that can come of it.
In reality, it doesn't matter what you put there and I suspect Facebook only specifies these types because it wants to know what it's working with for its advertising activities.
But Facebook isn't the only medium that will use these tags, so don't be locked into their methods only. It's best to keep it logical and sensible.
Hope this helps.