Partials and RW 7

I’m a little confused between unpacking a Partial and making an Edit in RW 7. In particular linking. I’ve unpacked a partial, changed the link, clicked done, but it doesn’t seem to be reflected throughout the project. I’ve clicked on the Partial, then Edit and made the change, but that doesn’t seem to take either. At this point I’ve bounced around between the two methods and am confused.

What is the best method and why isn’t the link change sticking?

And just to clarify, do Partials work in Extra Content? From what I am seeing, I don’t think so. Not sure about any differences with RW7.

I can’t speak for partials and Extra Content (though, I’d think they’d work together just fine).

When you unpack a partial, it will no longer make global edits, it has to stay ‘packed’ in order to be reflected in other areas of the site.

I am wondering if you ‘unpinned’ your text in the partial (which would allow you to make a single change without impacting the other instances of that partial)?

If you havent seen it yet, the video on this page does a much better job of describing it than I can.
http://yourhead.com/partials/

Thanks Jabostick, that helped. Understanding that editing after unpacking does not create a global editing change clarified it for me. I think I’ve got it now!

1 Like

To Edit a partial just select the partial and then click the Edit button (or double-click on the partial). Clicking the Edit button and double clicking is how you edit everything in Stacks – partials work exactly the same.

Unpacking a partial makes it not a partial any more. Creating a partial is a lot like “grouping” some stacks – and unpacking is like the un-group operation. It takes them apart again.

There are also a few good posts on answers site about this:

1 Like

Hi!
Why is the Partials not saved globally for all projects? Why do they are saved only for the project where you created?

I would imagine the number of partials might become massive in the case you are describing: adding bloat to new projects. You can always bring in a partial from an old project to a new one. But if all partials were available in all my projects I’d have well over 100. Making finding particular partials a problem. Naming would also potentially be a problem. And so on. It seems @isaiah has done a great job by how partials are implemented (i.e. saved per project only).

I think some people create a project with only partials in it and call it ‘My Partials’. Then, you can open that project, find the partial you want to use and drag it into your new project (or copy and paste it).

Rob

1 Like

What a brilliant idea! Excellent!

That a good idea, Today assignment for me - Create a project and copy/paste all partial from other projects into the partial project . I will probably will copy and paste some of my column/box and topbar stack as well that I set to do a specific animation which I know I will be using it on other projects.

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.

Not the way @Isaiah wanted to make them. I like the way they are, that way my hard drive is not littered with a ton of partials. I also make a project file and keep my favorite partials. I can now EASILY make many issues that people email Joe’s support with and test them to see if it is an issue with the stack or not.

1 Like

“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. :stuck_out_tongue:

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. :stuck_out_tongue:

Isaiah

6 Likes

It was a suggestion, thought. But thank you for the detailed answer!

It would be nice if Stacks 4 will support system 10.11, not just the latest version.

Isaiah definitely wins the award for best “explainer” in software! It’s always a nice education to read his detailed responses. I mean that sincerely: great explanation.

2 Likes

I supposed I should really make all these 10 page explanations into some sort of developer blog.

Isaiah… I don’t know your age but I envision you back in the early 60’s laying on the hood of a '55 Chevy, looking up at the stars, and day-dreaming about… wait for it… stacks and partials!

ha… i’m not quite that old.

ok, about me and my education…

those old-timer comp-sci guys were, at the time i went to school, the ancient professors emeritus. Dijkstra was here in Austin, where I live now. He taught at the University of Texas. but I didn’t grow up or go to school here. I’ve only moved here recently (to help with my son’s breathing).

I grew up on the beach – just over the mountains from Silicon Valley in Santa Cruz with all the hippies. My degree is in Computer Engineering is from University California Santa Cruz – focusing on discrete math and digital logic design with and a minor in philosophy. Before writing plugins for RapidWeaver I designed microchips for 15 years.

I was lucky enough to have both Glen Langdon and and David Huffman as professors, both pioneers in the field of Data Compression and finite set theory. Neither was an exceptional teacher – but I never missed one of their lectures – it was always good stuff.

i’ll be 47 in a few weeks. however i started programming in 1981 when i was 10yo. so some of my early computer experiences with 8" floppies, punched cards, and VAXen are a bit more antique than my age would indicate.

3 Likes

Ha… I’m 65 now… In college I had a computer minor. The computer was a 16 bit Data General Nova if I remember correctly. A row of front panel switches to enter and step through commands. Oh, and punched paper tape input too. I took Boolean algebra and was so confused it took me a second try just to figure out how simple it was. Teacher was horrible. That was back in 1971/72. Data Compression back then was when you sat on the paper tape.

1 Like

After all, you’re sorry, but the Partial is not saved globally and thus it is impossible to save your stack, it’s uncomfortable. Will have to save your version of the stack in/with Stacks 2 and RW 5.

P.S. All IMHO and sorry for my English.