End of May 2016 Update
Just a summary of what we have been doing up to this point, and some idea of where we are and where we are going.
author:
ZackP
date written: Tuesday, May 24, 2016
distribution: The World
It has been a while since we wrote something about the process we are going through in the development of this web site. No excuse. I guess it is just more fun to actually spend time developing for TWIG than it is writing about the code work and such. In any event, I will try to give a bit of insight into what we have been doing as of late.
Basically, we have been working on segment stuff (writings that follow the originating seeds). This is much more complicated than working with the seed stuff. Seed stuff is the basis for all that follows and is handled pretty routinely with normal processes. Segments, on the other hand, are much more complicated.
Anything written as follow-up to a seeds within TWIG is all being housed in a single database table. There is no obvious way to understand how the code written within TWIG handles gathering the segments to be listed below the seeds, and segments that follow other segments. So, there is some very complicated code that lines things up appropriately.
Let's say we hypothetically have a segment that is twenty-levels deep underneath a seed. In other words, we have nineteen segments written between the one we are looking at and the originating seed. In order to know which segments belong in this chain of segments back to the seed requires a bit of code work. This code, thankfully, has been developed and seems to function well.
As a part of this, we run into real problems when it comes to listing characters, entities and annotations as there may be dozens of characters, for instance, and not all of them, necessarily, are a part of the string of segments you might be visiting since segments can be written to go off in directions far from where you might be within a story.
Think about character lists this way. A seed could have thousands of segments written based upon itself and other segments beneath the actual seed. The story can run many different directions and, since characters are written at the seed level as well as segment authors can add characters as a part of the segments that they write, and they can change the status of characters that were created by others, we would need to determine which segments are between where you have opened up a story (could be opening the story at level 20 below the seed) and the actual seed.
We have written a routine to do this and this allows us to list only the characters germane to where the reader might be within the story. Remember, if a reader were to go sideways and up another segment thread, the characters and their status could be different. All of this is probably why no one else seems to allow this kind of flexibility in their collaborative writing pages. It is highly complex.
Entities and annotations are also handled in this fashion, also the segment navigation tool that you will see when reading through segments (top of the right sidebar). What we did was write a parser that writes the segments into an array and then uses that array to gather up the appropriate information. Slick!
Another task being worked on right now is the illustration pages. These are fairly complicated as well and can be difficult to keep straight.
When Will We Be Finished . . .
Probably still sometime this summer, we think. We are still slogging through some of this stuff, but we are heading towards completion. Once we have finished developing this site we will have two more major tasks to complete.
The first is to make sure that the necessary security is on each membership page and that there are no avenues for non-members to reach these pages. This process will take a few days. Not too bad as all of the security code has been written, and implemented sporadically. Just need to finish this up.
The second is a renaming and refoldering all of the content. Why would we do such a thing? Well, simply because the development process is rather messy and a lot of junk is laying around no longer in use. The best way to find out what is no longer necessary is to rebuild everything from scratch using that we have created, changing names when appropriate. This process will probably take a few weeks.
So, let's just say that if we do get TWIG finished during the summer months, it won't be early summer.