Creating your own package is not only easy using the backoffice tools, but it's also handy for modularizing functionality that can be shared across all of your projects. Plus, if you've developed something that you think others may benefit from, why not share the goods? To create a package, follow these steps:
You do not have to select the associated XSLT file for this package as that will automatically be included when selecting the macro. Same thing goes for .NET macros which will automatically include the associated .ascx files.
If your package included .NET driven functionality, you would have to select the associated assemblies in the Package Files tab from the installation path of your website.
Now, clearly that wasn't very exciting. All you did was create a package with one file in it, essentially. In Chapter 12 you will create a more complex macro that includes additional functionality such as .NET assemblies.
In addition to using the built-in tools for creating packages, you can extend the functionality by using the Package Actions tab. Package Actions are a means for you as a developer to execute common tasks during and after the installation process of a package. The actions are configured as instructions using XML. Examples of usage for these actions include adding an <umbraco:macro /> tag to an existing template, allowing a document type as a child element of another, or moving nodes in the content tree. Table 10-1 lists the available package actions.
/base is a class that you can use as a developer to execute REST-driven data exchange via, for example, AJAX calls.
In addition to the package actions that come with your Umbraco installation, you can find a community-driven repository at http://packageactioncontrib.codeplex.com/.