Skip to content
firepick1 (pixel) edited this page Jun 27, 2014 · 6 revisions

FireBOM
Generate your bill of materials from the web with up-to-date pricing information.

Function

FireBOM traverses the web to generate a bill of materials from the following types of web pages:

  • Vendor Web Page
  • Project Part Web Page
  • Project Assembly Web Page

From this information, FireBOM constructs a BOM:

<a href=http://165.225.149.255:8080/firebom/rest/build?url=https%3A%2F%2Fgithub.com%2Ffirepick1%2FFirePick%2Fwiki%2FD7IH&x=-514&y=-24>

Vendor Web Page

Vendor web pages are not under project control, but provide information such as: package cost, unit cost, units per package, part number, and description. With ongoing community involvement, more vendors will be supported. (E.g., Shapeways vendor page)

Project Part Web Page

A project part web page explains the function of a vendor part in the context of a project. Web pages that describe project parts use the @Sources tag to mark the location of a bulleted list of vendor URLs. The first vendor listed is the primary vendor used for BOM generation. All other vendors listed are alternates. Part quantities can be specified by appending a number in parentheses. The default part quantity is 1. (E.g., FirePick description of Shapeways part).

@Sources
<ul>
<li>anytext<a href="vendor-url">anytext</a>(unit-count)</li>
<li>ignored</li>
...
</ul>

Project Assembly Web Page

A project assembly web page defines a collection of parts and/or sub-assemblies with the help of the @Required tag, which marks the location of a bulleted list of required parts and/or assemblies:

@Required
<ul>
<li>anytext<a href="sub-assembly-or-part-url">anytext</a></li>
<li>anytext<a href="sub-assembly-or-part-url">anytext</a>anytext(some-quantity)</li>
...
</ul>

A project assembly web page can also have an @Sources tag if the assembly is "a single part with some other stuff tacked on." (E.g., FirePick D7IH assembly page)

Usage

To create a bill of materials for your project, you'll need to tag your project web pages as described, above. For example:

  • Annotate your public GitHub project wiki with FireBOM tags. FireBOM
  • Annotate your enterprise wiki with FireBOM tags. Host firebom.war on an enteprise server.
  • Annotate your private project HTML files with FireBOM tags. Build a BOM using the FireBOM command line and "file://..." URLs.

Adding Vendors

Every now and then you'll see the dreaded "FireBOM unsupported vendor" warning. FireBOM is open source and you can add code to support a vendor. Send a pull request when you're done and we will all thank you!

See Also

You can’t perform that action at this time.