A flexible report generator for yWriter projects

148 views
Skip to first unread message

Peter T.

unread,
Jun 23, 2021, 3:04:30 AM6/23/21
to yWriter
 yWriter can output different HTML reports. However, if the prefabricated reports are not enough for you, you can use my yw-reporter Python script to create configurable tables and display them in the web browser. This works with .yw5, .yw6 and .yw7 project files.

screen.png

yw-reporter has a graphical user interface. However, a Python 3 installation is required to run it.


Cheers, 
Peter

Simon Haynes

unread,
Jun 23, 2021, 3:21:28 AM6/23/21
to ywr...@googlegroups.com
Thanks for your ongoing efforts!

It's funny, a few moments before your post I sketched up a report filter/setup dialog box which is pretty much identical to the right-hand side of your Python form. (Instead of the various menu entries currently present in yWriter's print scene dropdown.)

My thinking was to allow users to set up output presets of their own using the selection form, naming and saving them under that menu.


--
You received this message because you are subscribed to the Google Groups "yWriter" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ywriter+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ywriter/51c54cb3-615f-44e6-8122-83db84598293n%40googlegroups.com.


--

--
Visit Spacejock Software, the home of yWriter, FCharts and more
Visit spacejock.com.au for my articles on writing and publishing novels.

Peter T.

unread,
Jun 23, 2021, 7:42:41 AM6/23/21
to yWriter
On Wednesday, June 23, 2021 at 9:21:28 AM UTC+2 Simon Haynes wrote:

My thinking was to allow users to set up output presets of their own using the selection form, naming and saving them under that menu.

That's a great idea, Simon. Maybe I'll add the saved profiles to my script when I feel like it again. 

In the meantime, my Python yWriter support library is so mature that all sorts of applications can be built on it in quite a short time.
Of course, it would be even nicer if yWriter already provided all functionalities, but you can't please everyone. 

A few words about my motivation: 
yWriter has all kinds of features that are not obvious at first glance, such as the "New Sections", the tags, the notes, and "A/R-Goal-Conflict ...". With these you can set up conventions, e.g. to introduce a dramaturgical structure level.
I think only a few users do this, because it can be implemented with the built-in means of yWriter, but it may be difficult to visualize. I remedy this problem with my own report and converter scripts. 

An example: 
  • I use chapters starting a new section as part-dividers. Usually they have no scenes. Their titles would be mapped by my converters as headings one level above the chapter headings. Their descriptions serve for a very short synopsis.
  • Note-chapters I use for a division into dramaturgical units, like acts or steps. 
  • Scene tags mark climaxes, turning points, key scenes, etc. 
  • Scene notes can describe the scene's impact on the overall plot.
  • Scene ratings can represent character arcs. The fields are then named after the main characters, and for the ratings there is a convention where, for example, 1 means "N/A".

I get an overview of all this with a self-defined table, in my case with a spreadsheet that can be edited and written back (see: https://peter88213.github.io/yw-cnv/help-adv#plot-list). 

Lastly, I have to add that I'm not the type to use something like this to plan a novel. Anyway, I have used it so far when it came to revision. 

Cheers, 
Peter

davidyor...@gmail.com

unread,
Jun 23, 2021, 7:56:29 AM6/23/21
to ywr...@googlegroups.com

Simon (and Peter)

 

I like the way that this is moving – but then I write multi-character, many-stranded plots that need very careful review to ensure there are no holes or inconsistencies.

 

The current reports (Print scenes per tag, Print characters per tag, Print locations per tag and Print items per tag) allow filtering by tags (thank you!). But as tags are attached separately to scenes, characters. locations and items, a writer needs to think carefully about how they use tags to eg – designate the state of an item or the review phase of a character’s dialogue or changes in a location.  This is OK though and allows me to do what I want in a flexible way.

 

It would be great to have scene reports filtered by character, location or item because that shortcuts the need to run eg Print scenes per character and then scroll around to find the list of scenes for the particular character one is interested in.  If multiple filers could be implemented even better!  Also, reporting for every property attached to a scene would be good too – including time information.

 

You might like an example of my process and how this would save time?  I have a plot element ‘wrath’ (one of the seven deadly sins) created as a yWriter ‘Item’. I need to ensure that the book includes examples relating to a particular character at time intervals that keep it in the reader’s view (not just mentioned to set up its use  - like a protagonist skill in bomb defusing 😊) Relevant scenes include some where the particular character is not present.

 

Assuming I ensure that relevant scenes include the item, a timeline (real or for linear plots inferred from sequence) of those scenes would meet my first objective.

 

I also review by item (as well as character and location) for effective treatment in scenes where the item is present.  This process proceeds through the book but often has to be paused because I can’t write full time. I ned to know where I am when I restart.

 

In practice I tag the item with tags to show its review status overall – which starts with book review for scenes where the item is relevant, moves to whole book reviewed, then to related editing started and related editing ended (this can be repeated if more drafts).

 

When a scene is edited in relation to the item I change the scene status to show that (this means I do a global reset of scene status before starting to edit for a particular item and shift each reviewed scene to a different status (I don’t use the scene status  in any general way otherwise).  This avoids having to tag a scene with many tags – one for each review state of each character, location and item).

 

So, filtering not only by character, location and item but also by status would help me.

 

Regards

David

 

 

 

From: ywr...@googlegroups.com <ywr...@googlegroups.com> On Behalf Of Simon Haynes
Sent: 23 June 2021 08:20
To: ywr...@googlegroups.com
Subject: Re: [yWriter] A flexible report generator for yWriter projects

 

Thanks for your ongoing efforts!

 

It's funny, a few moments before your post I sketched up a report filter/setup dialog box which is pretty much identical to the right-hand side of your Python form. (Instead of the various menu entries currently present in yWriter's print scene dropdown.)

 

My thinking was to allow users to set up output presets of their own using the selection form, naming and saving them under that menu.

 

 

On Wed, 23 Jun 2021 at 15:04, Peter T. <peter.pape...@gmail.com> wrote:

 yWriter can output different HTML reports. However, if the prefabricated reports are not enough for you, you can use my yw-reporter Python script to create configurable tables and display them in the web browser. This works with .yw5, .yw6 and .yw7 project files.

 

 

yw-reporter has a graphical user interface. However, a Python 3 installation is required to run it.

 

 

Cheers, 

Peter

--
You received this message because you are subscribed to the Google Groups "yWriter" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ywriter+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ywriter/51c54cb3-615f-44e6-8122-83db84598293n%40googlegroups.com.



--


--
Visit Spacejock Software, the home of yWriter, FCharts and more

Visit spacejock.com.au for my articles on writing and publishing novels.

--
You received this message because you are subscribed to the Google Groups "yWriter" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ywriter+u...@googlegroups.com.

image001.png

Peter T.

unread,
Jun 23, 2021, 8:38:18 AM6/23/21
to yWriter

David, 

thanks for the insight into your system. This looks like a classic use case for a database to me. We had this topic a few days ago here on the forum: 

I have got Aeon Timeline, that is very powerful in this aspect. It provides a matrix, for example, joining events with locations and characters. I already started a project to link Aeon events with yWriter scenes, but I didn't make much progress so far because of Aeon's rather intransparent and constantly changing file format. However, Aeon can synchronize with Scrivener, which doesn't look bad.

A spreadsheet program like Excel or Calc might also provide the sorting and filtering capabilities you need. I import a scene list into OpenOffice Calc that contains all the scene metadata, plus a continuous word count and a scene count.  It can be further processed with the spreadsheet software capabilities, and also written back to the yWriter project. If you are proficient in the software, you can also derive other filtered tables from it, or put the whole thing into a database. With the Office macro programming one has additionally a powerful tool, which I admit to know only rudimentarily.

If the writing software itself is to represent such highly specialized combinations of pieces of information, there should be a stringent concept behind it, as I have seen for example with the screenwriting software "Causality". But with that, a crucial advantage, namely yWriter's versatility, might suffer.

Cheers, 
Peter

Peter T.

unread,
Jun 23, 2021, 9:34:02 AM6/23/21
to yWriter
David, 

I forgot to mention my cross reference generator. Maybe it will bring you some benefit at the moment.
Here's the description:

Cheers, 
Peter

Peter T.

unread,
Jun 24, 2021, 4:25:26 AM6/24/21
to yWriter
I just released a new beta version with date/time/duration columns added.
The view combines the different types of scene date/time information you can enter in yWriter.

Note: The screenshot shows random data that I added for testing.
screen.png

Wayne Connolly

unread,
Jun 24, 2021, 5:09:34 AM6/24/21
to ywr...@googlegroups.com
Well done!

--
You received this message because you are subscribed to the Google Groups "yWriter" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ywriter+u...@googlegroups.com.

Peter T.

unread,
Jun 24, 2021, 7:27:07 AM6/24/21
to yWriter


On Thursday, June 24, 2021 at 11:09:34 AM UTC+2 Wayne Connolly wrote:
Well done!

Thanks. I have just implemented a filter option for scenes by tag, character, location, item and viewpoint. Now I need to get this into the user interface somehow before I release a new version.

Peter T.

unread,
Jun 30, 2021, 1:54:23 PM6/30/21
to yWriter
On Thursday, June 24, 2021 at 1:27:07 PM UTC+2 Peter T. wrote:
I have just implemented a filter option for scenes by tag, character, location, item and viewpoint. Now I need to get this into the user interface somehow before I release a new version.

Done. You can now download the new version. New column options are chapter/scene number and incremental word count.

screen.png


geoff peers

unread,
Aug 8, 2021, 3:20:19 AM8/8/21
to yWriter
Works really well, flexible and expands on what Ywriter can do. Thank you

Peter T.

unread,
Sep 16, 2021, 7:59:28 AM9/16/21
to yWriter
Today I have released version 1.1.0.
As an alternative, the report can now be generated as a CSV file suitable for spreadsheet software such as Excel or LibreOffice Calc.

Andy Gurr

unread,
Jun 23, 2022, 5:35:36 AM6/23/22
to yWriter

Hi, Firstly, big thanks to Simon and Peter T. I am finding ywriter8 very useful for my purposes, partly thanks to Peter’s reporting utilities.

 I‘ve been doing initial outlining, planning and main project management in Excel . using the “full” yw-reporter output

 I need to persistently reference chapters and scenes from yw-reporter back to my Excel plan and scene data that is not easily held in ywriter (e.g. “Value changing in scene”, “Question asked in scene”)

 So, I type my own unique 6 digit reference numbers into ywriter scenes and ywriter chapters. I then use Excel formulae on the relevant yw-reporter field to split into Scene/Chapter ID and the actual data part of field.

 I would like to use ywriter internal unique IDs. I can’t see IDs in ywriter and they are in yw2html (which I could not get to work for me yet) but not in yw-reporter which I would prefer to use. This leads me to moot these enhancements:

1.    $ID for scene and ideally chapter to be visible in ywriter, and ideally be “findable” in ywriter

2.    It would be great if yw-reporter could include ID in addition to the other fields.

3.    I am assuming each scene also holds a reference to the ID of the Chapter it is in and that would be good in yw-reporter too.

 

I feel as if I am missing something, but hopefully not.

 

Thanks,

 

Andy

Peter T.

unread,
Jun 23, 2022, 8:08:18 AM6/23/22
to yWriter
Andy, 

I think, it's no big deal to add the internal chapter/scene ID to the yw-reporter tool, if required. I will have a look at it.
You can see yWriter's internal chapter and scene IDs e.g. when exporting the project for proof reading.  

Concerning the yw2html tool, there's no user interface, so you best use/customize one of the example batch files. 
If I'm not mistaken, there's even one for csv export, so you might enter the code for the links needed. 

By the way, my LibreOffice yw-cnv extension comes with a scene list import feature creating a nice spreadsheet with links to the scenes in the "manuscript" it imports as well. You even can re-import changes to yWriter.

Cheers, 
Peter

Peter T.

unread,
Jun 23, 2022, 8:29:42 AM6/23/22
to yWriter
Now I've released yw-reporter version 2.2.2 providing yWriter's internal chapter/scene IDs. 
Have fun.

Reply all
Reply to author
Forward
0 new messages