# Build a panel as external library

**URL:** <https://forum.litium.com/t/build-a-panel-as-external-library/2852>\
**Category:** Questions\
**Tags:** litium-8\
**Created:** [February 17, 2023, 7:19am UTC](https://forum.litium.com/t/build-a-panel-as-external-library/2852 "2023-02-17T07:19:00Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![totte.perera](https://avatars.discourse-cdn.com/v4/letter/t/4af34b/32.png) [@totte.perera](https://forum.litium.com/u/totte.perera)\
**Post date:** [February 17, 2023, 7:19am UTC](https://forum.litium.com/t/build-a-panel-as-external-library/2852/1 "2023-02-17T07:19:01Z")

</div>

How can I build a custom panel that can be packaged as a nuget reference?  
The ideal situation would be to install the nuget package, run solution, and the panel is visible in BO.

Litium version: 8.\*

---

<div class="post-metadata">

**Author:** ![ton.nguyen](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.litium.com/ton.nguyen/32/989_2.png) [@ton.nguyen](https://forum.litium.com/u/ton.nguyen)\
**Post date:** [February 17, 2023, 10:06am UTC](https://forum.litium.com/t/build-a-panel-as-external-library/2852/2 "2023-02-17T10:06:36Z")

</div>

If you check the document on [how to create a panel](https://docs.litium.com/platform/back-office-extensions/creating-custom-panel), you will see that we need code in both Front-end and Back-end. Also we need to update `extensions.ts` file to register the component, which I think is quite tricky to do it automatically when installing a Nuget package.

We don’t have any example of building a Nuget package for custom panel unfortunately.

---

<div class="post-metadata">

**Author:** ![totte.perera](https://avatars.discourse-cdn.com/v4/letter/t/4af34b/32.png) [@totte.perera](https://forum.litium.com/u/totte.perera)\
**Post date:** [February 21, 2023, 4:33am UTC](https://forum.litium.com/t/build-a-panel-as-external-library/2852/3 "2023-02-21T04:33:10Z")

</div>

Alright, thanks for the reply.

Do you have any plans on making BO more extendible so that a developer can create panels that can be reused over many projects?

---

<div class="post-metadata">

**Author:** ![ton.nguyen](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.litium.com/ton.nguyen/32/989_2.png) [@ton.nguyen](https://forum.litium.com/u/ton.nguyen)\
**Post date:** [February 22, 2023, 8:23am UTC](https://forum.litium.com/t/build-a-panel-as-external-library/2852/4 "2023-02-22T08:23:55Z")

</div>

If you check two projects in Accelerator, `Litium.Accelerator.Administration.Extensions`and `Litium.Accelerator.Administration.Deployment`, they are two extensions projects which create pages in Settings page. The approach is quite similar to how to create custom panel. You can also check the guideline of creating custom setting page [here](https://docs.litium.com/platform/back-office-extensions/how-to-creating-a-custom-page-under-settings).

There are different ways of extending the system and they are supposed to be reusable. However, Angular code needs to be built with the correct version the Back-office is using. If you ship a pre-built version of Angular module/components which does not match the version the system is using, it will not work.

---

<div class="post-metadata">

**Author:** ![totte.perera](https://avatars.discourse-cdn.com/v4/letter/t/4af34b/32.png) [@totte.perera](https://forum.litium.com/u/totte.perera)\
**Post date:** [February 23, 2023, 7:31am UTC](https://forum.litium.com/t/build-a-panel-as-external-library/2852/5 "2023-02-23T07:31:56Z")

</div>

Ok thanks Ton. I will have a look and try it out!

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex030/uploads/litium/original/1X/12eddac3b8b661de1db86af10ac8151b571e6fb9.png) [@system](https://forum.litium.com/u/system)\
**Post date:** [March 23, 2023, 7:32am UTC](https://forum.litium.com/t/build-a-panel-as-external-library/2852/6 "2023-03-23T07:32:42Z")

</div>

Closed on March 23, 2023, 7:32am UTC

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
