UI Distribution

Over time, one can modify the CSS and page setup in Pier, remembering what changes were done is taxing. An alternative is to create a customized subclass of PRDistribution, such as PRClassicDistribution.

  • Simplifies upgrades
  • Allows version control to prevent loss
  • others can benefit

This can be selected in the Design chooser component, or created manually during an upgrade. As an example:

| dist |
dist := PRClassicDistribution new.
(PRKernel instances detect: [:e | e name = 'Pier']) root
		addChild: (dist systemPage
			addChild: (dist componentsPage
				addChild: dist headerPage;
				addChild: dist siteTitlePage;
				addChild: dist footerPage;
				addChild: dist menuPage;
				addChild: dist childrenWidget;
				addChild: dist breadcrumbWidget;
				addChild: dist googleAnalyticsWidget;
				addChild: dist sitemapPage;
				addChild: dist viewsPage;
				addChild: dist commandsPage;
				addChild: dist loginCommandWidget;
				addChild: dist contentsWidget;
				addChild: dist stylesheetFile;
				addChild: dist postTickerWidget;
				addChild: dist blogArchiveWidget;
				addChild: dist searchWidget;
				addChild: dist poweredPage;
				addChild: dist loggedInUserPage;
				addChild: dist designChooserWidget;
				addChild: dist documentWidget;
				yourself);
			addChild: dist systemManagementPage;
			addChild: (dist templatesPage
				addChild: dist environmentPage;
				addChild: dist blogEnvironmentPage;
				addChild: dist mainEnvironmentPage;
				addChild: dist metaEnvironmentPage;
				yourself
			);
			yourself
		).