Home

Awesome

image image image

GitHub Repo stars GitHub forks

imageNuget
GitHub release GitHub Releases Custom badgenuget.exe list author:eXpandFramework
nuget.exe list Xpand -source https://xpandnugetserver.azurewebsites.net/nuget

<sub><sup>How do I set up a package source in Visual Studio?, Efficient package management<br>How to Debug, How to boost your DevExpress Debugging Experience</sup></sub>

Custom badge

GitHub open issues GitHub close issues

About

image

eXpandFramework is an independent open-source project and is not affiliated with Developer Express Inc.

eXpandFramework is a FREE extension for DevExpress-XAF and operates within the Microsoft Public License (Ms-PL).

The eXpandFramework organization consist of three projects. The main project, this one, the Standalone low dependency well tested and well documented Reactive.XAF and the XpandPwsh powershell module where you can find all you need for your everyday development tasks. The main project acts as a container to the standalone project. Eventually all modules of main project will be puzzled from the standalone modules.

The architecture is similar to XAF. We recommend you go through the Getting Started document to get the feeling on how to get the most out of it. Afterwards just install the modules you want and go through the blogs linked in the list below and feel free to post Issues.

Modules

Examples of those modules include (in the two right columns you can see the supported platform):

Module NameDescriptionWinWebNuget.org
ExcelImporterImports Excel, csv files.YYCustom badge
WorldCreatorDesign runtime assembliesYYCustom badge
ModelDifferenceModel managementYYCustom badge
DashboardEnables native XAF dashboard collaboration and integrates the Dashboard suiteYYCustom badge
EmailSend emails using business rules from application model without coding (see http://goo.gl/Hkx6PK)YYCustom badge
WorkFlowContains workflow related features (Scheduled workflows)YYCustom badge
SystemSupport multiple datastore , calculable properties at runtime ,dynamic model creation,control grid options, datacaching, web master detail, view inheritance etc.YYCustom badge
JobShedulerActs as a wrapper for the powerful Quartz.Net, providing a flexible UI for managing Jobs at runtimeYYCustom badge
DBMapperMap 14 different types of databases at runtime into worldcreator persistent objectsYYCustom badge
IOExport & Import object graphsYYCustom badge
MapViewGoogle Maps integration for XAF web apps. Blog posts.YYCustom badge
FileAttachmentsProvides support for file system storage as per E965YYCustom badge
SchedulerPlease explore the XVideoRental module found in Demos/XVideoRental folder (Blog posts)YYCustom badge
ReportsPlease explore the XVideoRental module found in Demos/XVideoRental folderYNCustom badge
ChartPlease explore the XVideoRental module found in Demos/XVideoRental folderYNCustom badge
PivotGridPlease explore the XVideoRental module found in Demos/XVideoRental folderYNCustom badge
Import WizardUniversal module for importing excel files into any XAF application.YNCustom badge
AuditTrailConfigures XAF Audit Trail module using the Application Modules. (see Declarative data auditing)YYCustom badge
StateMachineEnhance XAF's statemachine module in order to control transitions using permissionsYYCustom badge
LogicDefine conditional architectureYYCustom badge
ModelArtifactParameterize model artifacts (Controllers, Actions, Views)YYCustom badge
AdditionalViewControlsProviderDecorate your views with custom controlsYYCustom badge
MasterDetailXtraGrid support for master-detail data presentation using the model. YNCustom badge
PivotChartEnhance analysis procedures / controlsYYCustom badge
SecurityProvides extension methods, authentication providers, login remember me, custom security objectsYYCustom badge
WizardDesign wizard driven viewsYNCustom badge
ViewVariantsCreate views without the use of model editorYYCustom badge
ValidationMore rules , permission validation, warning/info support, Action contexts etcYYCustom badge
ConditionalObjectViewsAllows the conditional navigation to your detailviews/listviews-->Merged with ModelArtifactYY
EasyTestsCustom command and extensions for EasyTest see http://apobekiaris.blogspot.gr/search/label/EasyTestYYCustom badge
TreelistViewEnhance hierarchy controls, map XtraTreeList options to modelYYCustom badge
NCarouselLoads images asynchronously and displays them using a configurable carousel listeditorNYCustom badge
VSIX PackageEnhance Model Editor, Explore Xaf Errors, Drop Database at design time, ProjectConverter invocation

Standalone XAF Modules

Below is a list of DevExpress XAF Modules distributed from the DevExpress.XAF repository.

<moduleslist>
PackageNameCustom badge<br>Platform/TargetAbout
AutoCommit<br>The AutoCommit package can be used to enable specific autocommit scenarios by setting the IModelObjectView.AutoCommit.
Blazor<br>The Blazor package hosts and activates Blazor specific XAF artifacts (Editors, Services, etc).
BulkObjectUpdate<br>The BulkObjectUpdate module updates your Businesses data in bulk guided from flexible model configurations.
CloneMemberValue<br>The CloneMemberValue module will help you to selectively clone Business object members.
CloneModelView<br>The CloneModelView package generated additional default design time model views.
Email<br>The Email module sends your Business Object as email.
GridListEditor<br>The GridListEditor module hosts features related to XAF GridListEditor.
HideToolBar<br>The HideToolBar package uses the the IModelListView.HideToolBar attribute to hide the toolbar.
JobScheduler.Hangfire<br>The JobScheduler.Hangfire package integrates Hangfire for fire & forget job schedules.
JobScheduler.Notification<br>The JobScheduler.Notification emits Object creation events and offers a Blazor UI for fine tuning them.
LookupCascade<br>
MasterDetail<br>The MasterDetail module can help you create platform agnostic master detail XAF views using only the Model Editor.
ModelMapper<br>The ModelMapper allows to control all XAF components from the application model.
ModelViewInheritance<br>The ModuleViewInheritance changes the default Model View generation without coding.
Office.Cloud.Google<br>The Google package authenticates against the Google Cloud services.
Office.Cloud.Google.Calendar<br>The Google.Calendar package integrates with the Google Calendar cloud service.
Office.Cloud.Google.Tasks<br>This package integrates with the Google Tasks cloud service.
Office.Cloud.Microsoft<br>
Office.DocumentStyleManager<br>The DocumentStyleManager can re-brand a large number of documents using style templates.
OneView<br>The OneView will display one view only with the option to edit the model.
PositionInListView<br>The PositionInListView, controls how objects are positioned in a ListView at runtime.
ProgressBarViewItem<br>The ProgressBarViewItem package integrates a UI progress for long running tasks.
RazorView<br>The RazorView module uses the Razor c# syntax to generate views out of Business data.
Reactive<br>The Reactive module provides a XAF DSL API for functional/stateless implementations.
Reactive.Logger<br>The Reactive.Logger module monitors calls to the RX delegates OnNext, OnSubscribe, OnDispose, OnCompleted, OnError
Reactive.Logger.Client.Win<br>The Reactive.Logger.Client.Win is an executable able connect to any XAF app that uses the Reactive.Logger.Hub.
Reactive.Logger.Hub<br>The Reactive.Logger.Hub transmits or receives the execution pipeLine flow.
Reactive.Rest<br>The Reactive.Rest integrates with any REST Service using a simple declarative process.
RefreshView<br>The RefreshView module refreshes the View datasource periodically.
SequenceGenerator<br>The SequenceGenerator updates Business Objects members with unique sequential values.
Speech<br>
SpellChecker<br>The StoreToDisk package provides partial and secured serialization for your Business Object
StoreToDisk<br>The StoreToDisk package provides partial and secured serialization for your Business Object
SuppressConfirmation<br>The SuppressConfirmation suppresses ObjectViews modification confirmations.
TenantManager<br>The TenantManager integrates cloud authentication with dedicated datastore Organizations over a certainly controlled management;
ViewEditMode<br>The ViewEditMode module controls the DetailView.ViewEditMode.
ViewItemValue<br>The ViewItemValue helps end-users to configure the default values for lookup view items.
ViewWizard<br>
Windows<br>The Application.Windows module hosts Windows Env related features like HideOnExit, Prompt, Startup, MultiInstance, NotifyIcon.
</moduleslist> ### Dashboard

Blogs:
http://apobekiaris.blogspot.gr/search/label/dashboard

Model Difference

Extends XAF by adding great new features for example:

<a href="http://lh3.ggpht.com/_5YPm4JGkfwE/TKS-Dto4vJI/AAAAAAAAA2M/23ElRzSeGxY/s1600-h/1%5B4%5D.png" ><img src="http://lh4.ggpht.com/_5YPm4JGkfwE/TKS-EDVfWVI/AAAAAAAAA2U/C4q0TgSBQxA/1_thumb%5B2%5D.png?imgmax=800" width="244" height="119"/></a>| <a href="http://lh6.ggpht.com/_5YPm4JGkfwE/TKS-GpI3V0I/AAAAAAAAA2g/ir7JM5yPYAI/s1600-h/2%5B4%5D.png" target="_blank"><img src="http://lh4.ggpht.com/_5YPm4JGkfwE/TKS-He26FgI/AAAAAAAAA2k/sGqr-d1q8no/2_thumb%5B2%5D.png?imgmax=800" width="244" height="146" /></a>

Blogs:
http://apobekiaris.blogspot.com/search/label/ModelDifference

WorldCreator

Creates dynamic persistent assemblies. The XAF user interface allows us to create an assembly without writing a single line of code. Advanced users can even use c# scripting and create new code generation templates.

<a href="http://lh5.ggpht.com/_5YPm4JGkfwE/TKS-JsXS8zI/AAAAAAAAA2s/GealQVYGk2I/s1600-h/3%5B4%5D.png" target="_blank"><img src="http://lh4.ggpht.com/_5YPm4JGkfwE/TKS-KYRSs6I/AAAAAAAAA20/RBORqaxDbQk/3_thumb%5B2%5D.png?imgmax=800" width="244" height="132"/></a>

Blogs:
http://apobekiaris.blogspot.com/search/label/WorldCreator

JobScheduler

For those who are not familiar with the concept of job scheduling, here is some background information. Also, there is great Quartz tutorial, which provides an excellent introduction.

Blogs:
http://apobekiaris.blogspot.com/search/label/JobSceduler

DBMapper

DBMapper has the same functionality as SqlDbMapper however is based on the powerful XPO . Thus DBMapper module is capable of transforming into WorldCreator persistent classes the following list of databases: Access, Advantage, Adaptive Server Anywhere, Ase, DB2, FireBird, FireBirdSql, SqlServerCe, SqlServer, ODP, Oracle, PersasizeSql, PostgreSql, SQLite, VistaDB

<a href="http://lh6.ggpht.com/_5YPm4JGkfwE/TKS-NKe9gpI/AAAAAAAAA3E/sQhwSk0lqXA/s1600-h/4%5B4%5D.png" target="_blank" ><img src="http://lh6.ggpht.com/_5YPm4JGkfwE/TKS-NnEnx1I/AAAAAAAAA3M/3RRz9c0dvYQ/4_thumb%5B2%5D.png?imgmax=800" alt="4" width="244" height="137" /></a>

Blogs:
http://apobekiaris.blogspot.com/search/label/SqlDbMapper

Import Export Module

Provides collaboration between a xaf application and another system by allowing you to create object serialization graphs. The complexity of a graph can be configured using either UI or design time attributes. Changing object keys and choosing serialization strategies are straightforward as seen in this screenshot.

<a href="http://lh4.ggpht.com/_5YPm4JGkfwE/TKS-RG9vtqI/AAAAAAAAA3Q/atE-te0RBpc/s1600-h/5%5B4%5D.png" target="_blank" ><img src="http://lh6.ggpht.com/_5YPm4JGkfwE/TKS-SBm18GI/AAAAAAAAA3k/MKVWkLOblqo/5_thumb%5B2%5D.png?imgmax=800" alt="5" width="244" height="175"/></a>|<a href="http://lh4.ggpht.com/_5YPm4JGkfwE/TKTGP8hA8jI/AAAAAAAAA8A/VPi85wauaew/s1600-h/6%5B11%5D.png" target="_blank" ><img src="http://lh6.ggpht.com/_5YPm4JGkfwE/TKTGRLKZmZI/AAAAAAAAA8E/IoJPGHtg4nU/6_thumb%5B5%5D.png?imgmax=800" alt="6" width="244" height="203" /></a>
<a href="http://lh6.ggpht.com/_5YPm4JGkfwE/TKTGRoqHwvI/AAAAAAAAA8I/NnOAO9BJ-SY/s1600-h/7%5B8%5D.png" target="_blank" ><img src="http://lh4.ggpht.com/_5YPm4JGkfwE/TKTGSVcaUII/AAAAAAAAA8M/cHWqle8GUUs/7_thumb%5B4%5D.png?imgmax=800" alt="7" width="244" height="175" /></a>
Blogs:
http://apobekiaris.blogspot.com/search/label/IO

Import Wizard

Windows module for importing excel files into any XAF application.
<img src="http://1.bp.blogspot.com/_qoNyZHelrQw/TGv4_qFc08I/AAAAAAAAQu4/baach20MnHk/s640/Excel+Import+3.png" alt="Import Wizard Preview" width="244" />
Blogs:
http://mdworkstuff.blogspot.gr/search/label/wizard

AdditionalViewControlsProvider

Allows us to place a Win or Web control in any given position in its respective XAF view and control its visibility, text decoration, font, height, width, etc. using conditional model rules.
<a href="http://lh6.ggpht.com/_5YPm4JGkfwE/TKTGS0pCiuI/AAAAAAAAA8Q/lMY4nHkkeJk/s1600-h/8%5B9%5D.png" target="_blank" ><img src="http://lh6.ggpht.com/_5YPm4JGkfwE/TKTGTiQHUVI/AAAAAAAAA8U/VoWwfpX--_4/8_thumb%5B5%5D.png?imgmax=800" alt="8" width="244" height="188" /></a>|<a href="http://lh6.ggpht.com/_5YPm4JGkfwE/TKTGUkErwRI/AAAAAAAAA8Y/Ymr3orssvz8/s1600-h/9%5B8%5D.png" target="_blank" ><img src="http://lh6.ggpht.com/_5YPm4JGkfwE/TKTGVNRtVuI/AAAAAAAAA8c/LglYVygFdKg/9_thumb%5B4%5D.png?imgmax=800" alt="9" width="244" height="108" /></a>
Blogs:
http://apobekiaris.blogspot.com/search/label/AdditionalViewControlsProvider

ModelArtifactState

Apply conditional logic to the artifacts of your model (Controllers, Actions). It means that you can enable,disable,hide,execute etc. at many contexts or combination of them.

<a href="http://lh4.ggpht.com/_5YPm4JGkfwE/TKTGWzkYSJI/AAAAAAAAA8g/cWtL1GB9XRA/s1600-h/10%5B8%5D.png" target="_blank" ><img src="http://lh3.ggpht.com/_5YPm4JGkfwE/TKTGYHIKvXI/AAAAAAAAA8k/O1JYHungAdE/10_thumb%5B4%5D.png?imgmax=800" alt="10" width="222" height="244" /></a>
Blogs:
http://apobekiaris.blogspot.com/search/label/ModelArtifactState

StateMachine

Enhance XAF's statemachine module in order to control transitions using permissions.

Blogs:
http://apobekiaris.blogspot.com/search/label/Xpandstatemachine

PivotChart

Using it you can connect your analysis objects with any object and display/position them at any view. A big number of pivot features are also supported . Controlling Pivotgrid options is also available at runtime.

<a href="http://lh6.ggpht.com/_5YPm4JGkfwE/TKTGa5lGuVI/AAAAAAAAA8w/Jp7oyPEq48c/s1600-h/12%5B9%5D.png" target="_blank" rel="noopener" ><img src="http://lh3.ggpht.com/_5YPm4JGkfwE/TKTGbx4fMxI/AAAAAAAAA80/fyszg5Wy_7U/12_thumb%5B5%5D.png?imgmax=800" alt="12" width="244" height="159" /></a>|<a href="http://lh4.ggpht.com/_5YPm4JGkfwE/TLYN-Fe5lrI/AAAAAAAAA-k/W9HIdgO-7ng/s1600-h/image%5B4%5D.png" target="_blank" rel="noopener" ><img src="http://lh3.ggpht.com/_5YPm4JGkfwE/TLYN_K3cjnI/AAAAAAAAA-o/6uR5EOP7gbE/image_thumb%5B1%5D.png?imgmax=800" alt="image" width="244" height="171" /></a>
Blogs:
http://apobekiaris.blogspot.com/search/label/PivotChart

Logic

Provides the architecture / engine upon many of eXpand modules have been designed (AdditionalViewControlsProvider, ModeArtifactState, MasterDetail, ConditionalDetailViews) . Very valuable to the developers that want to implement a conditional module.

Blogs:
http://apobekiaris.blogspot.com/search/label/Logic

System modules

The features here are endless . Some interesting features are multiple datastore support, create calculable properties at runtime, dynamic model creation, GridView,GridColumn options…etc.

Blogs:
http://apobekiaris.blogspot.com/search/label/Core.Web\ http://apobekiaris.blogspot.com/search/label/Core.Win\

ConditionalObjectView

Allows the conditional navigation to your detailviews / listviews.

<a href="http://lh4.ggpht.com/_5YPm4JGkfwE/TKTGe7dYA0I/AAAAAAAAA9I/OuN5Cs7uVAw/s1600-h/15%5B9%5D.png" target="_blank" rel="noopener" ><img src="http://lh6.ggpht.com/_5YPm4JGkfwE/TKTGfoUv_gI/AAAAAAAAA9M/Wlt00bo5UFM/15_thumb%5B5%5D.png?imgmax=800" alt="15" width="244" height="129" /></a>

ViewVariants

End user can design views at runtime.

<a href="http://lh6.ggpht.com/_5YPm4JGkfwE/TKTGhYoMiKI/AAAAAAAAA9Q/MowHd45EMwA/s1600-h/16%5B9%5D.png" target="_blank" rel="noopener" ><img src="http://lh3.ggpht.com/_5YPm4JGkfwE/TKTGh6wP6yI/AAAAAAAAA9U/3XO4zHU3fy4/16_thumb%5B5%5D.png?imgmax=800" alt="16" width="244" height="126" /></a>

Blogs:
http://apobekiaris.blogspot.com/search/label/ViewVariants

Validation

Validation

Blogs:
http://apobekiaris.blogspot.com/search/label/Validation\ (warning/Info)

WizardUI

Enables designing of wizard views using the model editor.

<a href="http://lh6.ggpht.com/_5YPm4JGkfwE/TLRDaDgdjVI/AAAAAAAAA-E/w2od5jXerx8/s1600-h/image%5B14%5D.png" ><img src="http://lh4.ggpht.com/_5YPm4JGkfwE/TLRDaqzZjBI/AAAAAAAAA-I/7iDtoy2U3Fc/image_thumb%5B6%5D.png?imgmax=800" alt="image" width="244" height="196" /></a>|<a href="http://lh5.ggpht.com/_5YPm4JGkfwE/TLRDayM9LUI/AAAAAAAAA-M/3ycTZyxeEkA/s1600-h/image%5B7%5D.png" ><img src="http://lh4.ggpht.com/_5YPm4JGkfwE/TLRDbe-2vLI/AAAAAAAAA-Q/CIoDmYlXnro/image_thumb%5B3%5D.png?imgmax=800" alt="image" width="332" height="130" /></a>

<a href="http://lh6.ggpht.com/_5YPm4JGkfwE/TLRDbyGy01I/AAAAAAAAA-U/IVyHb52EZ68/s1600-h/image%5B6%5D.png" ><img src="http://lh6.ggpht.com/_5YPm4JGkfwE/TLRDcTa0GEI/AAAAAAAAA-Y/Vidgg103loI/image_thumb%5B2%5D.png?imgmax=800" alt="image" width="325" height="126" /></a>|<a href="http://lh4.ggpht.com/_5YPm4JGkfwE/TLRDc7oQYcI/AAAAAAAAA-c/jdKoI7aFca8/s1600-h/image%5B11%5D.png" ><img src="http://lh5.ggpht.com/_5YPm4JGkfwE/TLRDdnPeo-I/AAAAAAAAA-g/tIcRuHgK-Ps/image_thumb%5B5%5D.png?imgmax=800" alt="image" width="306" height="133" /></a>

TreelistView

Enable recursive filtering and viewing for your listviews ,map XtraTreeList options to model, support for conditional appearance module.

Blogs:
http://apobekiaris.blogspot.com/search/label/TreeListEditors

NCarousel

Web skinable listeditor based on JCarousel. Image loading is asynchronous , multiple editor with different configurations is allowed.

<img src="http://www.expandframework.com/images/site/firstpage/ncarouseleditor.png" alt="ncarouseleditor" width="300" height="196" />

Blogs:
http://apobekiaris.blogspot.com/search/label/NCaousel

Workflow

Blogs:
http://apobekiaris.blogspot.com/search/label/XpandWF

ExcelImporter

Windows ExcelImporter

Web ExcelImporter

Blogs:
http://apobekiaris.blogspot.gr/search/label/ExcelImporter