Dealing with new versions of the original book if one uses a cloned version

As soon as one has cloned a book one starts to worder if chapters in the original version of the book got changed (imporved). It would be nice to be able to

  • get notified if the original book got changed.
  • be able to reimport the original book and overwrite the chapters of the original book that are in the cloned version of the book. One could then compare chapter by chapter the differences in the clone and the original and decide if one wants to revert to the cloned version (because one has changed it to ones needs) or if one wants to use the new original version.

Maybe in the future, each time the original books get an update, the cloned book (if is activated) gets the update. But if one page is edited, that page will not get that page the update.

Interesting, some good ideas here, but cloning is not intended as backup mechanism. (or worse, a splogging tool) I mean, if the book is openly licensed and public on the web, and a user is so very concerned with keeping the original, then why not simply use the original?

Definitely open to making improvements to versioning, communicating, and sharing changes though.

My thoughts: Not all of these features are feasible (or desirable) inside a WordPress plugin. The WP/PB REST API, which exposes the JSON data of openly licensed public books, allows for external services to manage these kinds of interactions. Such services could be built using Elasticsearch and the ingest plugin in their stack: (https://www.elastic.co/guide/en/elasticsearch/plugins/master/ingest-attachment.html ) The services could be given access OAuth apps style, and be in charge of moving data around in a more sophisticated way.

The idea comes from the use case that lets say 2 out of 10 chapters are perfect for my sylabus. 1 of the 2 chapters matches sort of the sylabus and the other chapter does not match at all. So I clone the whole book, delete the chapter that does not match and rearrange the chapter that sort of maches. A year later, I would like to make sure that I can benefit from improvements that the original version of the book got. This while keeping my edited chapters.

2 Likes

This is something I intend to develop a workflow for. Our use case is a network of colleges that teach similar courses all being able to start with the same core text, revise during the academic year, then round up all the changes and have a better shared master the next term.

I think there was some talk of using hypothes.is as a way of signaling changes from the global master version (eg OpenStax.com version) to forked or related copies. Not sure where that convo ended.

My purpose is in the future be able to have atomic design with books

An educational book must be made by different chapters or different parts from different authors and to receive updates from the original creators of the content (if activated).

For now, i just whant to show how my current cloning system works because some basic improvements can be done.
https://premium.wpmudev.org/project/cloner/

The problem is about what is the minimun unit of content. A page/topic is a good start point but in a complex situation, a page must be done by different sections where each section could belong to a different author.

I think we need to create in a short future a more modular system where each section of the page is an independent page. Image a page made by child pages (some wp themes works in that way, if there is a page that belongs to another page, the main page show the abstrac of the child pages).
We could isolate one of the sections and to do or not modifications in the other sections. If one of that sections are update, we can update our page and not to loose our work. Besides, we could share just one of the sections with other people, not the full page, wich is too long the most of the times. In a book of the history of europe, and a page where we teach the history of spain, a section can be the civil war.

If we do in such way, we are creating the bases of an A.I. system and with a litle of work with some code, we could create a platform that would offer one different book for each different student.

Take a look to twitter, your personal page (your feed) is just for you, is made by different posts, that is because of the twitter algorithm. I thinnk something simmilar can be done with keywords (#) and metadata. In the future, once all the content is online and well organiced, we could create an infinite number of courses. We just would need to choose the needs of the students.

Too soon for the A.I system, but I think by having sections in a page we could share the content and to update in a really really powerful way. That´s why i´m working with my metadata plugin. My purpose is not to have rich snippets, is to give freedom to the students to choose the content they whant to learn in a really advance way.

Hi @colomet, the big issue here is how is this backwards compatible with our current structure where chapters are the smallest unit of a book?

I have an idea since time ago.

The Theme Sequential by wordpress allows to show child pages content in the parent pages. By default, a page is a page, but if you choose the for the Parent page the Feature grid template, each child page are available in the parent page.

Take a look the page i did create. One parent page with two child pages.
http://books4languages.com/parent-page/

Now, the content of the parent page is in the top, and the child pages are down. Instead of a grid template, imagine a template where each page is a section. Something organice as http://open.books4languages.com/grammara1en/chapter/to-be-affirmative/

In the way I would like to do the content, the most of the work is done automatic because of the metadata. It would be a simple way of creating pages (I hope the next summer I can start to work with that). but for the general use, is much simple and can be done by hand.

We have parts and chapters. We need now sections. Where a section is a child page of a chapter.

The backwards compatible is: if we have a book. All the current pages are chapters. And you can read as now. No issue. But if you write a section of a chapter, that content would be after the content of the chapter.

As we always use the chapters for writing information (I think in the future is the place for the introduction or a short information about the chapter if necesary), the chapters can work as now.

The chapter would show content of the child just if there is a child or more than one for a chapter. If that happe, the child pages (sections) would be afther the parent page and no one would see in the frond end is a combination of pages. Just one long scroll with sections.

I realice that the day I take a look to the wordpress post formats. The formats are not useful for a page/post, as the page is too big and with many different content. But if we do create a tiny entity, we can use each format for each child page and to have a page made by pages (like the feed of twitter if you search for a #). Because a child page can be a picture, a video, a song, text… and the parent page is a combination of all of them.

I think this a bit off-topic for @t.dumm’s question. Also, you’re proposing a massive change to how Pressbooks works and I it’s really not on our road map right now. Personally for atomic content within chapters, I think something like the Gutenberg editor, which adds block-level editing features to existing WordPress content types, might make more sense. But again, we probably won’t jump into a fundamental change like this anytime soon.

EDIT: Read a bit more about the underpinnings of Gutenberg and I’m now distinctly unimpressed (see: http://gschoppe.com/wordpress/gutenberg-is-no-gutenberg/).