PackMan is a pretty awesome component, so I thought I’d take a moment to describe how used Packman, since the documentation is nearly nonexistent.
At the end I’ll mention some proposed improvements (aside from writing useful documentation!).
Using PackMan for the ModX developer
When setting up a new modx (revo) installation I found that there are a lot of plugins and snippets that I want to add right away. So, I went into Packman (Components:Packman) in a site I already set up to see if I could speed up this process.
Under the first tab (PackMan), I named the package and left the other inputs blank. Then I went to the plugins and subpackages tabs and added the items I wanted in my other site. You could also add chunks and snippets and all sorts of other useful things you use on all your sites.
Once all the items were all added to my PackMan package, I then clicked on "Export Transport Package" in the upper right corner. Here we run into a problem on the Mac: The package is automatically downloaded into the browser and then the zip file is unzipped! So it was then necessary for me to re-zip the package (right click on folder and select compress fie). Next the file name for a transport package must end in "transport.zip", so I then rename the package (eg, mypackage.transport.zip).
Next, we ftp the transport file to to the core/packages folder of the new site.
In the modx manager, we go to System:Package Management on the new site, and in the Packages tab we click on "Add new package". Choose "Search locally for packages" and follow the prompts. Once the package is found and processed, you must install the package. It’s pretty simple and self-explanatory.
Of course you will want to include PackMan in your transport package. But I found that you must force a reload in Safari to get any installed components to appear, since otherwise the "Components" menu item won’t show up. Is this a bug? Well, since PackMan itself is a "Component", it’s funny that a PackMan package doesn’t show up after being installed without further steps.
It’s amazing that if you later go back and modify the PackMan package you just installed... say you add a snippet, or update one of the plugins, by changing the version number of your package, the Package manager on the receiving site will go into update mode, only installing packages that have changed since the last time you installed it. Wizardry. FOr instance, I realized that I hadn’t included PackMan in my transport package, so I went and added it to my "profile", re-exported the package, and re-imported it to the new site. Only PackMan was installed the second time. Perfect. (Interesting that there doesn’t appear to be a way to package PackMan profiles.)
Now the gripes:
1. To save a set of transport package settings, it seems that you have to create a "profile" for it. This is done in the "Select a profile" pulldown in PackMan, where you select "Creat new profile form this...". Really. So, you have a Package name and a Profile name. Yes, Really. I’m sure some genius came up with this, but I find it supremely unintuitive.
I would propose the following improvement: have a button for "Save this package profile" and save the package by it’s user-supplied name and version number. Do away with the separate profile name.
2. It is not at all clear how you get a fresh Package setting. I think it must be a bug that if you click on an item added to the package, such as a plugin name, and then hit delete, you get kicked out of PackMan and into the Package Manager. Going back to packMan, find yourself with a new Package. Genius!
I propose a button for "Create new Package Profile" and another for "Delete this Package Profile".
3. You can add directories to a transport package, and I think it would make more sense if you could browse the directories in the Directories tab.
I hope this helps out users and developers of this application. It’s pretty rad now and can only improve!!