“I meant that Partials could be saved in a file with their extension (and stored on the hard drive) and be the same as stacks or templates, not to drag them from project to project.”
Short answer: I think Stacks 4 will add some new features along this front. I can’t say exactly what they’ll be or how they’ll work yet though, but I think they’ll probably do something similar.
Long answer: This involves computer science, some deep thought, a rock, and a hard place. If you’re interested in intractable problems, read on…
i think if you really think it through, you’ll probably see some problems in simply saving a partial to your hard drive. something that’s stored in a different file can never really do all the things are partial does.
first, let me give you an example to illustrate the problem:
lets say you have two files: A and B. and one partial. both A and B utilize the partial.
now let’s say you open up file A and realize there’s a typo in some of the partial’s content. So you double click on the partial and fix the typo. Then you dutifully save and publish A.
but here’s the thing – B has never even seen these changes because B isn’t even open. so B carries on having the typo until you remember to open it.
this very simple example hints at the problem – that because a partial can be edited – because it is CHANGEABLE – it makes storing it in a separate file a bit of a challenge.
and i assure you this is just the tip of a large iceberg. nested partials, unpinned content, and lots of the other good partial stuff create other even more insidious problems. and if you solved all that, i promise adding dropbox, file sharing, and backups will make your head explode.
OK, before you type out that next question, let me answer a few that i know will be asked…
Q: what about 3rd party stacks? those are in separate files?
A: 3rd party stacks are not editable. because they’re static they can be shared by many files without worrying about synchronizing the changes between them – there are no changes to sync!
Q: what about “user stacks” (a feature of Stacks 2)
A: user stacks could be created by users – but once created they became like 3rd party stacks: un-editable.
Q: what about images? those are editable! and stored in separate files!
A: actually they’re not editable at all. the original image content that you drag in to Stacks is stored and then never changed. the “edits” are just filters layered onto the original file. Each time you use an image a new set of filters is created for that image instance – this gives the appearance of editable images – while maintaining the original image quality and immutability (that’s the fancy word developers use to mean un-editable).
We can try to distill this to some rules for stack library items…
An aside: I can use some of my fancy education here – these rules are larger computer science rules related synchronization of any shared resource. Most of this stuff was thought through by Dijkstra in the early 1960s. Mutual exclusion - Wikipedia
In order to keep a shared resource in sync we need to make sure that it’s not being used when it’s being changed. For Stacks this means:
- 3rd party stacks are immutable – you can’t change them.
- images are immutable – you can’t change those either.
- partials are mutable – but while you’re editing them you can’t do anything else to read that partial.
I think Stacks 4 will see more features related to saving user-defined-partial-like-things – but for some written-in-stone laws of information-theory and computer science, we can’t save partials and expect them to work the same.
I’m not saying what the new stuff will be, but I promise you it’ll be nice, and I won’t ever make anyone think about all this navel-gazing and computer science craziness – except for myself.
Isaiah