|
4 | 4 | Tutorial 1 - Your first Product |
5 | 5 | =============================== |
6 | 6 |
|
7 | | -Sign into DejaCode. |
| 7 | +Prerequisites: |
| 8 | +- You’ve created your DejaCode account **(link to Quickstart guide here)** |
| 9 | +- You’re `signed in <https://public.dejacode.com/login/>`_ to DejaCode |
8 | 10 |
|
| 11 | +---------------- |
9 | 12 | Create a Product |
10 | | -================ |
| 13 | +---------------- |
11 | 14 |
|
12 | | -1. Select :guilabel:`Products` from the main menu bar. |
| 15 | +First, we need to create the product: |
13 | 16 |
|
14 | | -2. Click the green :guilabel:`Add Product` button. Enter the values that you know, |
15 | | -you can refer to :ref:`data_model_product` for details about each fields. |
| 17 | +1. Select `Products <https://public.dejacode.com/products/>`_ from the main menu bar. |
| 18 | +2. Click the green `Add Product <https://public.dejacode.com/products/add/>`_ button. |
| 19 | +3. Enter a ‘Name’ for your product |
| 20 | +4. Enter any other values that you know (you can refer to `Product model <https://dejacode.readthedocs.io/en/latest/reference-data-models.html#data-model-product>`_ for details about each field) |
| 21 | +5. Click ‘Add Product’ at the bottom of the page |
16 | 22 |
|
17 | | -3. Set a **name**, and click the :guilabel:`Add Product` button at the bottom of the |
18 | | - form. |
| 23 | +---------------------------- |
| 24 | +Load an SBOM to your Product |
| 25 | +---------------------------- |
19 | 26 |
|
20 | | -.. note:: You are ready to assign Inventory objects to your Product! |
| 27 | +The next step is to load a SBOM (Software Bill of Material) into your new product. This is essentially a list of all the components, dependencies, and metadata associated with your application. |
21 | 28 |
|
22 | | -Load a Software Bill of Materials (SBOM) to your Product |
23 | | -======================================================== |
| 29 | +.. note:: |
| 30 | + For this tutorial, you can use one of our example DBOM files from our `GitHub repository <https://github.com/aboutcode-org/dejacode/tree/main/docs/sboms/>`_. |
24 | 31 |
|
25 | | -You have the flexibility to employ either your CycloneDX, SPDX, or AboutFile |
26 | | -Software Bill of Materials (SBOMs). |
| 32 | +Now let’s import it: |
27 | 33 |
|
28 | | -Alternatively, you can conveniently download one of the provided examples from |
29 | | -the following |
30 | | -`GitHub repository <https://github.com/aboutcode-org/dejacode/tree/main/docs/sboms/>`_. |
| 34 | +1. On the product details page (you should be there already), select the ‘**Actions**’ dropdown at the top of the page, then select ‘**Import SBOM**’ |
| 35 | +2. Click ‘Choose File’ then select your SBOM file (.cdx.json or .spdx.json) |
| 36 | +3. Check the ‘Update existing packages with discovered packages data’ checkbox |
| 37 | +4. *(Optional) You can also check ‘Scan all packages of this product post-import’ to initiate a ScanCode scan of all the packages assigned to your product* |
| 38 | +5. Click the '**Import**' button. |
| 39 | +6. When the upload is done, you’ll be shown the ‘**Imports**’ tab, with a status by your import. |
| 40 | +7. Refresh the page periodically until the status ideally reads ’Completed’ |
31 | 41 |
|
32 | | -On the Product details page, from the :guilabel:`Actions` dropdown, select |
33 | | -:guilabel:`Import SBOM`: |
34 | | - |
35 | | -* Click the :guilabel:`Choose File` button on the **SBOM file or zip archive** field. |
36 | | -* Select your SBOM (.cdx.json or .spdx.json) and click the :guilabel:`Open` button. |
37 | | -* Check the :guilabel:`Update existing packages with discovered packages data` option. |
38 | | -* Click the :guilabel:`Load Packages` button. |
39 | | - |
40 | | -DejaCode presents the :guilabel:`Imports` tab. Refresh your screen from the browser |
41 | | -to see the status of your import. |
42 | | - |
43 | | -View your import results in the :guilabel:`Inventory tab`. |
44 | | - |
45 | | -.. note:: Continue assigning packages to your Product as required. |
| 42 | +You can now view your import results in the 'Inventory' tab at the top of the page. |
46 | 43 |
|
| 44 | +------------------------------- |
47 | 45 | Assign Packages to your Product |
48 | | -=============================== |
49 | | - |
50 | | -From the :guilabel:`Manage` dropdown, select :guilabel:`Packages`: |
51 | | - |
52 | | -* Click the :guilabel:`Add Package to Product` button. |
53 | | -* Enter the start of a **package identifier**, for example ``diagrams`` and select |
54 | | - package ``diagrams-0.12.0.tar.gz``. |
55 | | - DejaCode gets the license ``mit`` from the package definition. |
56 | | -* Click the :guilabel:`Save` button. |
57 | | - |
58 | | -You can see the results by selecting the :guilabel:`Inventory tab`. |
59 | | - |
60 | | -Select :guilabel:`Packages` from the main menu bar. |
61 | | - |
62 | | -* Locate one or more packages to be used in your Product. |
63 | | -* Use the checkbox on the left to select your package(s). |
64 | | -* Select the ``Product`` option from the :guilabel:`Add to` dropdown. |
65 | | -* Select your product from the dropdown list. |
66 | | -* Click the :guilabel:`Add to Product` button. |
67 | | - |
68 | | -View your results in the :guilabel:`Inventory tab`. |
69 | | - |
70 | | -.. note:: Continue assigning packages to your Product as required. |
71 | | - |
72 | | -Review your progress |
73 | | -==================== |
74 | | - |
75 | | -Click the :guilabel:`Attribution` button: |
76 | | - |
77 | | -* Accept all the default attribution configuration settings. |
78 | | -* Scroll down and click the :guilabel:`Generate Attribution`. |
79 | | -* Explore the attribution document that DejaCode presents to you. |
80 | | -* Save the document to your local file system using your browser File Save command. |
81 | | - |
82 | | -Select :guilabel:`Reports` from the :guilabel:`Tools` dropdown: |
83 | | - |
84 | | -* Select an appropriate report such as ``2-Product Package Analysis``. |
85 | | -* Enter your product Name and Version and click :guilabel:`Rerun Report`. |
86 | | -* Explore the results that DejaCode presents to you. |
87 | | -* Export the report to your local file system using the :guilabel:`Export` button. |
88 | | - |
89 | | -Check for New Versions of your Product Packages |
90 | | -=============================================== |
91 | | - |
92 | | -Select :guilabel:`Products` from the main menu bar. |
93 | | - |
94 | | -Click the **Product name** of the Product you are defining to open it. |
95 | | - |
96 | | -From the :guilabel:`Manage` dropdown, select :guilabel:`Check for new Package versions`: |
97 | | -New Package Versions are displayed on the :guilabel:`Inventory` tab. |
98 | | -You can click on new versions and add them to DejaCode from the PurlDB. |
99 | | - |
100 | | -Assign Catalog Components to your Product |
101 | | -========================================= |
102 | | - |
103 | | -Select :guilabel:`Products` from the main menu bar. |
104 | | - |
105 | | -Click the **Product name** of the Product you are defining to open it. |
106 | | - |
107 | | -From the :guilabel:`Manage` dropdown, select :guilabel:`Components`: |
108 | | - |
109 | | -* Click the :guilabel:`Add Component to Product` button. |
110 | | -* Enter the start of a **Component**, for example ``log`` and select |
111 | | - a version of component ``Apache Log4J``. |
112 | | - DejaCode gets the license ``apache-2.0`` from the component definition. |
113 | | -* Click the :guilabel:`Save` button. |
114 | | - |
115 | | -You can see the results by selecting the :guilabel:`Inventory tab`. |
116 | | - |
117 | | -Select :guilabel:`Components` from the main menu bar. |
118 | | - |
119 | | -* Locate one or more components to be used in your Product. |
120 | | -* Use the checkbox on the left to select your package(s). |
121 | | -* Select the ``Product`` option from the :guilabel:`Add to` dropdown. |
122 | | -* Select your product from the dropdown list. |
123 | | -* Click the :guilabel:`Add to Product` button. |
124 | | - |
125 | | -View your results in the :guilabel:`Inventory tab`. |
| 46 | +------------------------------- |
126 | 47 |
|
127 | | -.. note:: Continue assigning components to your Product as required. |
| 48 | +The next step is to assign packages to your product. A package is is a collection of software files and associated metadata that is managed as a single unit for tracking, compliance, and license management purposes. |
128 | 49 |
|
129 | | -Review your impact |
130 | | -================== |
| 50 | +There are two ways to assign a package to your product. |
131 | 51 |
|
132 | | -Click the :guilabel:`Attribution` button: |
| 52 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 53 | +Option 1: Add Package directly to Product |
| 54 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
133 | 55 |
|
134 | | -* Accept all the default attribution configuration settings. |
135 | | -* Scroll down and click the :guilabel:`Generate Attribution`. |
136 | | -* Explore the attribution document that DejaCode presents to you. |
137 | | -* Save the document to your local file system using your browser File Save command. |
| 56 | +The first option entails opening the product, and adding the package to the list. |
138 | 57 |
|
139 | | -Select :guilabel:`Reports` from the :guilabel:`Tools` dropdown: |
| 58 | +1. On the product details page, select the ‘**Manage**’ dropdown at the top of the page, then select ‘**Packages**’ |
| 59 | +2. Click the **'Add Package to Product'** button at the bottom left of the page |
| 60 | +3. Start typing the package identifier from the package definition to search for your package (for example, if you wanted to add the package 'diagrams-0.12.0.tar.gz', it should only need to type 'dia' for it to be returned) |
| 61 | +4. Select the package |
| 62 | +5. Click the '**Save**' button |
| 63 | +6. Repeat steps to add more packages |
140 | 64 |
|
141 | | -* Select an appropriate report such as ``2-Product Component Analysis``. |
142 | | -* Enter your product Name and Version and click :guilabel:`Rerun Report`. |
143 | | -* Explore the results that DejaCode presents to you. |
144 | | -* Export the report to your local file system using the :guilabel:`Export` button. |
| 65 | +You've now added the new package, and you can see the results by selecting the 'Inventory' tab on the product details page |
145 | 66 |
|
146 | | -Assign Custom Components to your Product |
147 | | -======================================== |
| 67 | +**(You can also do this by selecting your packages on the 'Packages' page, and clicking 'Add to' then 'Product')** |
148 | 68 |
|
149 | | -Select :guilabel:`Products` from the main menu bar. |
| 69 | +------------------------------ |
| 70 | +Add Components to your Product |
| 71 | +------------------------------ |
150 | 72 |
|
151 | | -Click the **Product name** of the Product you are defining to open it. |
| 73 | +You can also add `Components <https://public.dejacode.com/components/>`_ to you Product. A Component is an individual open-source or third-party software element (library, framework, tool, etc). |
152 | 74 |
|
153 | | -From the :guilabel:`Manage` dropdown, select :guilabel:`Add custom Component`: |
154 | | -Enter the data fields that define your custom Component. |
155 | | -* Click the :guilabel:`Save` button. |
156 | | -Your results are displayed on the :guilabel:`Inventory tab`. |
| 75 | +Like packages, there are two ways to add a Component to your Product. |
157 | 76 |
|
158 | | -Click the :guilabel:`Attribution` button: |
| 77 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 78 | +Option 1: Add Component directly to Product |
| 79 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
159 | 80 |
|
160 | | -* Accept all the default attribution configuration settings. |
161 | | -* Scroll down and click the :guilabel:`Generate Attribution`. |
162 | | -* Explore the attribution document that DejaCode presents to you. |
163 | | -* Save the document to your local file system using your browser File Save command. |
| 81 | +1. On the product details page, select the ‘**Manage**’ dropdown at the top of the page, then select ‘**Components**’ |
| 82 | +2. Click the **'Add Component to Product'** button. |
| 83 | +3. Start typing the name of the Component to search (for example, type 'Apache Log4J') |
| 84 | +4. Select your Component from the returned list |
| 85 | +5. Click '**Save**' |
| 86 | +6. Repeat steps to add more Components |
164 | 87 |
|
165 | | -Select :guilabel:`Reports` from the :guilabel:`Tools` dropdown: |
| 88 | +You've now added the new component, and you can see the results by selecting the 'Inventory' tab on the product details page |
166 | 89 |
|
167 | | -* Select an appropriate report such as ``2-Product Custom Component Analysis``. |
168 | | -* Enter your product Name and Version and click :guilabel:`Rerun Report`. |
169 | | -* Explore the results that DejaCode presents to you. |
170 | | -* Export the report to your local file system using the :guilabel:`Export` button. |
| 90 | +**(You can also do this by selecting your components on the 'Components' page, and clicking 'Add to' then 'Product')** |
171 | 91 |
|
| 92 | +-------------------------------------------- |
172 | 93 | Review the Licenses that Impact your Product |
173 | | -============================================ |
| 94 | +-------------------------------------------- |
174 | 95 |
|
175 | | -Select :guilabel:`Products` from the main menu bar. |
| 96 | +Now you've added your product and assigned packages and components, you can now review your licences. |
176 | 97 |
|
177 | | -Click the **Product name** of the Product you are defining to open it. |
| 98 | +The simplest way to do this is to view your 'Licence summary'. |
178 | 99 |
|
179 | | -From the :guilabel:`Manage` dropdown, select :guilabel:`License Summary`: |
180 | | -Your Product Licenses are displayed on the :guilabel:`License summary form`. |
181 | | -DejaCode displays the **Usage Policy** and all the **Items** for each **License**. |
182 | | -Export the **License summary** by clicking the button :guilabel:`Export as CSV`. |
| 100 | +1. Open the product details page |
| 101 | +2. Select the ‘**Manage**’ dropdown at the top of the page, then select ‘**Licence Summary**' |
183 | 102 |
|
184 | | -Assign Everything Else to your Product |
185 | | -====================================== |
| 103 | +Your full list product licences will now be displayed in a table view. DejaCode displays the **Usage Policy** and all the **Items** for each **License**. |
186 | 104 |
|
187 | | -Continue refining and reviewing your product. |
| 105 | +.. note:: |
| 106 | + You can export the **License summary** by clicking the **'Export as CSV'** button at the top right of the page. |
188 | 107 |
|
189 | | -In :ref:`user_tutorial_2`, we'll explore Packages in greater detail! |
| 108 | +----------------------------------------------------------------------------------------------------------------------- |
| 109 | +Next: `Tutorial 2 - Working with Packages <https://dejacode.readthedocs.io/en/latest/tutorial-2.html#user-tutorial-2>`_ |
| 110 | +----------------------------------------------------------------------------------------------------------------------- |
0 commit comments