The Software Engineering Handbook (SWEHB) web site was started in 2010. It was built on a Confluence Wiki platform by Jon Verville from GSFC. There were a number of plugins and macro packages used to built out the rich capability in the product. It was initially an internal to NASA site. It was anticipated that revisions to the NPR7150.2 would be used to update the SWEHB and that only one version, in space 7150, based on the most current NPR, would exist. In 2017 the second version of SWEHB was born. It was based on NPR7150.2B in the space SWEHBVB. In 2018 work began on a third version of the SWEHB in space SWEHBVC. The most current version is based on NPR7150.2D and is in space SWEHBVD. The architecture of the SWEHB sites is discussed on this page. It includes the basic Confluence Platform, add-on software like plugins and macro bundles, and a small amount of user (NASA) written macros that give the SWEHB its look and feel. Additional documentation including Style Guides for certain types of pages are included as pages under this page. Access to the SWEHB is granted to anyone who can get to it through the NASA network as well as anyone on the world wide web through the URL: SWEHB.NASA.GOV. It is not necessary to log in to Confluence to use the SWEHB. Users may browse the content as Anonymous users. This access to content allows users to view content and download attachments. Editing and content creation is restricted to a small number of developers and curators who have Confluence logins and are in the appropriate group of editors. The SWEHB uses the Wiki from Atlassian Software. This Wiki is Confluence. It is simple to use but made more powerful with the addition of plugins and macro software. Originally, SWEHB was deployed in GSFC on version 2.x of Confluence. By 2017 the SWEHB had been moved from GSFC to MSFC. Over the years the platform was upgraded many times by Atlassian. The system was upgraded to version 7.4.4 on Nov 20, 2020. Currently, the platform is on virtual servers at MSFC and maintained by the IT organization there. Confluence stores content in a My SQL database. All content is stored in database records using a KEY to identify what space the content belongs to. This means that multiple spaces can be stored in the same database. See tab 5 for a list of current spaces and their KEYs. Initially, Confluence 2.x was used to develop the SWEHB in 2010. Subsequently the version of Confluence was updated to the current 7.x. Plugins and Macro Bundles give the Wiki additional capabilities beyond what comes with Confluence. The plugins and Macro Bundles currently in use in the SWEHB. This plugin allows for identifying variables and storing values for the variables in Confluence pages. Once the values are embedded in the page, they can be used by other plugins and macros to enhance the value of the content. For example, in SWEHB, data on references is collected and stored in SWEREF pages: Scaffolding macros and their usage (12/15/2021) This plugin uses data collected in the Scaffolding plugin and stored in pages. The reporting plugin allows the developer to select values, sort data, and build reports to display the selected data in a meaningful way for the viewer. For example, in SWEHB, the References section of SWE pages contains a report listing of references mentioned in the page, or having an obvious relationship to the page. Reporting macros and their usage (12/15/2021) Graphic image editor. Has the ability to embed links in images. Prevent uploading of attachments which have disallowed file types. Redirection Plugin macros and their usage (12/15/2021) Composition macros and their usage (12/15/2021) Documentation: https://docs.servicerocket.com/composition/macro-reference Visibility for Confluence macros and their usage (12/15/2021) Linking for Confluence macros and their usage (12/15/2021) Advanced tables allows for tables in a page to be sorted by clicking on one of the column headings. Bob Swift Atlassian Apps - Advanced Tables macros and their usage (12/15/2021) Theme used for SWEHB look and Feel. Custom headers and Footers. Used extensively: confluence-advanced-macros macros and their usage (12/15/2021) Content Formatting for Confluence macros and their usage (12/15/2021) Layout Macros macros and their usage (12/15/2021) confluence-information-plugin macros and their usage (12/15/2021) Confluence Expand Macro macros and their usage (12/15/2021) Wiki Markup Plugin macros and their usage (12/15/2021) Confluence View File Macro macros and their usage (12/15/2021) Code Macro Plugin macros and their usage (12/15/2021) Table of Contents Plugin macros and their usage (12/15/2021) Confluence HTML Macros macros and their usage (12/15/2021) Page Tree Plugin macros and their usage (12/15/2021) Bob Swift Atlassian Add-ons - Cache macros and their usage (12/15/2021) Dashboard Macros macros and their usage (12/15/2021) Basic Macros macros and their usage (12/15/2021) Dashboard Macros macros and their usage (12/15/2021) User macros are custom developed by the SWEHB maintenance staff. Macro packages are used to add capabilities beyond the native capabilities of Confluence. In SWEHB, these macro packages include: The following macros are provided by user-installed apps and are not used on any pages (not including pages in archive spaces). This information is helpful if you're about to disable or remove an app and want to make sure its not used on any pages. App name This list shows how often each macro is used in your site. We've organised the list by the app that provides the macro, and included both user-installed apps and apps bundled with Confluence. The content of the SWEHB is contained in the various spaces that have been created over time. Each version of NPR7150.2 has a unique space for it's content. The original SWEHB was implemented in space 7150. Over time, spaces were added to accommodate more versions of NPR7150.2. At present, 4 versions of the SWEHB are in use: Some associated functionality is located in the SITE space. https://swehb-pri.msfc.nasa.gov/pages/reorderpages.action?key=SITE This space contains: There are several types of pages used in the SWEHB. The copy of the SWEHB on the Production server is where all content maintenance is performed. When testing of Confluence and platform level software releases need to be performed, a copy of the production content is put onto the Staging server. Testing of the platform software changes is then done to make sure there are no regression issues between the software running on Production and Staging. If there are no issues, Production software may be updated. Any changes to User Macros are made first on the Staging server. Once the changes are tested and proven, the macro code is manually copied to the Production server. Backup of macro code is the responsibility of SWEHB maintainers and MSFC IT so that a trustworthy method of reverting to Known Working Code is maintained. All references are updated as changes are brought to the attention of the SWEHB Maintainer. An annual review of all references is made to ensure that the appropriate version of each reference is available through a live (not redirected) link. As a part of this review, a change history on the reference is maintained. See References in SWEHB for details on how references are handled and maintained. As each new version of the NPR are released, new SWEHB versions are built and released. Each new release of the SWEHB is contained in its own space on the Confluence Server. At a high level, as each SWEHB version is built the following maintenance is performed on the new space: A final review of content is performed before the new SWEHB is released. Releasing consists of IT making the new SWEHB the Home page for Confluence. In that way, the URL "SWEHB.NASA.GOV" will take users to the new Home page. Anonymous users are given only View permission to the new space. While minor changes can be made directly in a page, large scale changes that take many days to implement, need a different approach. The full details of the process for making changes is described in the attached PowerPoint presentation SWEHB Branching and Merging.pptx. A brief overview is included below.
See edit history of this section
Post feedback on this section
1. Introduction
1.1 User Access
2. Platform
2.1 - Server
2.2 - SQL Server
2.3 - Confluence
3. Plugins and Macros
3.1 Scaffolding
3.2 Reporting
3.3 Gliffy
3.4 Adaptivist Replace and Render - ?
3.5 Angular JS Integration for AUI - ?
3.6 Attachment Filter Tool
3.7 Redirection Addon for Confluence
3.8 ServiceRocket Composition Plugin
3.9 Visibility for Confluence
3.10 Linking for Confluence
3.11 Advanced Tables for Confluence (Bob Swift)
3.12 Refined Theme
3.13 Confluence Advanced Macros
3.14 Content Formatting
3.15 Layout Macros
3.16 Information Plugin
3.17 Expand Macro
3.18 Wiki Markup Plugin
3.19 Confluence View File Macro
3.20 Code Macro Plugin
3.21 Table of Contents Plugin
3.22 Confluence HTML Macros
3.23 Page Tree Plugin
3.24 Bob Swift Addons - Cache
3.25 Dashboard Macros
3.26 Basic Macros
3.27 Dashboard Macros
4. User Macros
4.1 User Macros
Macros used in SWEHB spaces
4.2 Macro Packages
Macro usage
Unused macros
All macros
5. Content
5.1 Spaces
NPR Version Confluence Space Link to Home Page 7150.2A 7150 https://swehb-pri.msfc.nasa.gov/pages/reorderpages.action?key=7150 7150.2B SWEHBVB https://swehb-pri.msfc.nasa.gov/pages/reorderpages.action?key=SWEHBVB 7150.2C SWEHBVC https://swehb-pri.msfc.nasa.gov/pages/reorderpages.action?key=SWEHBVC 7150.2D SWEHBVD https://swehb-pri.msfc.nasa.gov/pages/reorderpages.action?key=SWEHBVD 5.2 Content pages
6. Maintenance
Production and Staging Sites
Macro Changes
Reviews on References
New Versions of the SWEHB and NPR7150.2
Large Scale Updates and Changes
SWEHB Branching and Merging
Documentation of SWEHB Architecture and Style Guides
Web Resources
View this section on the websiteUnknown macro: {page-info}
User Macros in SWEHB