@fenixalliance/abs-sdk
v1.4.1
Published
The official SDK for the Alliance Business Suite, providing seamless integration with ABS APIs and services. Features include real-time communication via SignalR, UI components from FluentUI and Bootstrap, utility libraries for data formatting and manipul
Downloads
52
Maintainers
Readme
Welcome to the Alliance Business Suite Documentation!
Aiming to help organizations reach beyond expectations, the Alliance Business Suite is designed to augment businesses across industries worldwide through a low-code, and fully customizable business development platform.
At a very high level, the Alliance Business Suite is a set of powerful, extensible, multi-tenant applications built to enable businesses to jumpstart their digitalization process through powerful business applications built to cover the core processes of any given business.
The Alliance Business Suite provides customers with a Full-Stack, Low-Code, Modular, and Multi-Tenant Business Application Framework built on top of the Alliance Business Platform.
The Alliance Business Suite relies on five major components designed to separate different functionalities into layers; these components are:
The Alliance Core Libraries contain the core abstractions and default implementations required by the Alliance Business Model and dependent components. It is also the external dependency source for the entire Alliance Business Suite, which means that external dependencies, which are dependencies outside the FenixAlliance.*
namespace, are referenced by the FenixAlliance.ACL.Deps
Package, which is the base ACL Package and, therefore, it could be referred to as the Core Package.
For more information on the dependency tree, design overview, and external dependencies, please refer to Advanced Topics.
The Alliance Business Model is a declarative specification and definition of standard entities that represent commonly used concepts and activities across business and productivity applications and is being extended to observational and analytical data as well. ABM provides well-defined, modular, and extensible business entities such as Accounts, Business Units, cases, Contact, Leads, Opportunity, and Items (Products/Services) and interactions with vendors, workers, and customers, such as activities and service level agreements. that serve as the dynamic data layer for the entire Alliance Business Suite.
Anyone can build on and extend ABM definitions to capture additional business-specific scenarios.
The Alliance Passport Service enables developers and non-developers alike The Alliance Passport Service is an Authentication/Authorization Engine designed to enable customers to easily configure and manage business identity scenarios by assigning (or connecting) a digital identity to their contacts, whether they are customers, employees, partners, guests, and more.
It also provides common features for managing authentication, authorization, data protection, HTTPS enforcement, app secrets, XSRF/CSRF prevention, and CORS management. These security features allow you to build robust, yet secure Alliance Business Suite apps.
The Alliance Business Platform is a Modular API Framework. It leverages .NET 5.0 with the best of REST, SignalR, GraphQl y gRPCto transact with the Alliance Business Model Schema (AMB). The Alliance Business Platform is an open-source and cross-platform framework for integrating next-generation functionalities into your applications. It allows you to build spectacular single-page apps using .NET and C# with or without JavaScript. ABP apps can connect and transact to the data layer (The Alliance Business Modal Schema) using any language through standard requests through the various GrPC, HTTP, and GraphQL Endpoints.
To capture additional business-specific scenarios, you can easily build on and extend The Alliance Business Platform through ASP.NET + Angular / React (And pretty much any Web Stack Framework).
The Alliance Business Studio is the Graphical Administration Engine for the Alliance Business Suite. It allows users to manage their implementations, transact data through the Alliance Business Platform, generate and consume views, and reports, customize and extend the system, and much more.
You can build on top of, and extend The Alliance Business Studio to capture additional business-specific scenarios.
How to build applications on top of the Alliance Business Suite?
Client and server code are written in C#, allowing users to extend the product with their code through Module libraries. It builds upon next-generation technologies such as Blazor, SignalR, Razor Pages, and MVC through .NET, an open-source and cross-platform framework for building web-mobile apps using C#, with or without the use of JavaScript.
The power of the Alliance Business Suite can be leveraged from small personal blogs, eCommerce platforms, and professional portfolios to the infrastructure of large corporations.
User Guide
Getting Started
- Install .NET 6 SDK (v6.0.*).
For Business Use.
- Download or Clone the latest Alliance Business Suite release. Decompress the downloaded
.zip
on a folder on your PC, navigate to that folder and execute theFenixAlliance.ABS.Web.exe
file.
A console window will pop up, providing information about the initialization process. Open your server on the provided URL, go through the installation wizard, and start using the Alliance Business Suite. For more information about hosting your Alliance Business Suite instance, please refer to Hosting your Alliance Business Suite.
For Developer Users
Install the latest edition (v16.8 or higher) of Visual Studio 2019 (Community, Professional, or Enterprise Editions) with the ASP.NET and web development workload enabled. Alliance Business Suite works with ALL editions of Visual Studio from Community to Enterprise. If you do not have a SQL Server installation available already and you wish to use LocalDB for development, you must also install the .NET desktop development workload.
Download a release or Clone the ABS. Portal repository to your local system using Git. Open the FenixAlliance.ABS.Portal.sln solution file and Build the solution. Make sure you specify FenixAlliance.ABS.Portal as the Startup Project and then Run the application.
Installing an official release:
- A detailed set of instructions for installing Alliance Business Suite on IIS is located here: Installing Alliance Business Suite on IIS
- Instructions for upgrading Alliance Business Suite are located here: Upgrading Alliance Business Suite
Additional Instructions
If you have already installed a previous version of Alliance Business Suite and you wish to do a clean database install, simply point the DefaultConnection value in the ABS Portal Settings Manager to a fresh database record. This will trigger a re-install when you run the application which will execute the database installation scripts.
Every ABS Repo ignores appsettings.json by default, so as long as you don't delete the directive from .gitignore, you're cleared to submit a pull request.
Video Series
- If you are getting started with Alliance Business Suite, a series of videos are available that explain how to install the product, interact with the user interface, and develop custom modules.
Documentation
There is a separate Documentation repository, which contains various types of documentation for the Alliance Business Suite, including the C# API documentation for every class on every library. The contents of the repository are available at https://docs.absuite.net as interactive documentation.
Easy Install
The Easy Way: As a Docker Container.
docker pull FenixAlliance.ABS:latest
Conventional Install
git clone https://github.com/FenixAlliance/ABS.Bin
cd ABS.Bin
./FenixAlliance.ABS.Web.exe
or
dotnet FenixAlliance.ABS.Web.dll
Installing as an application dependency
Add the Alliance Business Suite Nuget Feed.
dotnet nuget add source https://nuget.absuite.net/nuget -n absuite.net
Add the NuGet packages
dotnet add package FenixAlliance.ABS.Hub --version latest
dotnet add package FenixAlliance.ABS.Assets --version latest
Register Services and Configuration on .NET 5.0
using FenixAlliance.ABS.Hub.Extensions;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting.Server.Features;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
namespace FenixAlliance.ABS
{
public class Startup
{
public IHostEnvironment Environment { get; set; }
public IConfiguration Configuration { get; }
// Constructor
public Startup(IConfiguration Configuration, IHostEnvironment Environment)
{
this.Environment = Environment;
this.Configuration = Configuration;
}
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddAllianceBusinessSuite(Configuration, Environment);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app)
{
app.UseAllianceBusinessSuite(Configuration, Environment);
}
}
}
Register Services and Configuration on .NET 6.0
using FenixAlliance.ABS.Hub.Extensions;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddAllianceBusinessSuite(builder.Configuration, builder.Environment);
var app = builder.Build();
app.UseAllianceBusinessSuite(builder.Configuration, builder.Environment);
app.Run();
Release Announcements
Example Screenshots
ABS Studio Dashboard:
ABS Extensions:
The ABS is modular. Whether you need to add pages, products, or posts with no code at all (using the ABS Web Designer), modify the style or layout, or add your Types, Controllers, Pages, Views, Components, or Tag Helpers
ABS Commander Terminal:
The ABS Commander Terminal is a Built-In functionality that allows users to execute commands against the ABP set of APIs.
ABS WOPI Connector:
The ABS Workplace Module allows users to create, view, and edit Office files with Office for the web, right from their ABS Instances. It also allows users to manage files for pretty much every entity type.
ACS Bot Maker:
The Alliance Conversational Services Bot Maker Platform is an ABS extension that allows users to create conversational flows using NLP and a graphical UI.
Versioning
Maintaining forward and backward compatibility is a key goal of the ABS. Therefore, the ABS now uses only additive versioning, which means any revision of the ABM following the "2.0" release will not:
- Introduce new mandatory attributes on previously published entities, or change an optional attribute to be mandatory
- Rename previously published attributes or entities
- Remove previously published attributes
🤝 Contributing
Contributions, issues, and feature requests are welcome!Feel free to check issues page. You can also take a look at the contributing guide.
- Issue Guidelines
- Report Security Vulnerabilities
- Pull Request Requirements
- Translations
- Chart of Accounts
Show your support
Give this project a ⭐️ if this project helped you!
Author
👤 Alliance Business Holdings Inc.
- Website: https://fenix-alliance.com
- Twitter: @fenixalliance
- Github: @fenixalliance
- LinkedIn: Alliance Business Holdings on LinkedIn
Logo and Trademark
The brand name Alliance Business Suite and its logos are trademarks of Alliance Business Holdings S.A.S in Colombia and Alliance Business Holdings Inc in other countries ("Alliance Business Holdings").
Alliance Business Holdings owns and oversees the trademarks for the ABS name and logos. We have developed this trademark usage policy with the following goals in mind:
- We’d like to make it easy for anyone to use the ABS name or logo for community-oriented efforts that help spread and improve ABS.
- We’d like to make it clear how ABS-related businesses and projects can (and cannot) use the ABS name and logo.
- We’d like to make it hard for anyone to use the ABS name and logo to unfairly profit from, trick, or confuse people who are looking for official ABS resources.
Licensing and Contributions
Your access to and use of the Alliance Business Suite's source code is governed by the Alliance Business Holdings's End User License Agreement "EULA". If you don't agree to those terms, as amended from time to time, you are not permitted to access or use the Alliance Business Suite.
We welcome any contributions to the Alliance Business Suite development through pull requests on GitHub. Most of our active development is in the development branch, so we prefer to take pull requests there (particularly for new features). We try to make sure that all new code adheres to the Alliance Business Holdings coding standards. All contributions are governed by the terms of the EULA.
Legal Notices
Alliance Business Holdings and any contributors grant you a license to the documentation and other content in this repository under the Creative Commons Attribution 4.0 International Public License and grant you a license to any code or binary form Alliance Business Holdings through the ABS EULA.
Alliance Business Holdings, Alliance Business Suite, Infinity Comex, and/or other Alliance Business Holdings products and services referenced in the documentation may be trademarks or registered trademarks of Alliance Business Holdings Inc. in the United States/or other countries. The licenses for this project do not grant you rights to use any of Alliance Business Holdings's names, logos, or trademarks. Alliance Business Holdings's general trademark guidelines can be found at http://docs.fenix-alliance.com.
Privacy information can be found at https://fenix-alliance.com/legal/policies/privacypolicy
Alliance Business Holdings and any contributors reserve all other rights, whether under their respective copyrights, patents, or trademarks, whether by implication, estoppel, or otherwise.