I've very little time in the last weeks so progress of the Protal is very slowly now (I've some troubles with my motor bike, the gearbox needs some repair).
I released this Version to show you that the project isn't dead!
You can download it here: http://sourceforge.net/project/showfiles.php?group_id=71816&package_id=71564
Feedback is always welcomed :-)
ATTENTION!
Work is in progress. Do not use it in a production environment!
What's new
You can choose your personal favourite Data Access Layer (XML, SQLServer, etc.). The default
Data Access Layer is still XML!
You can also define more than one Portal eg. one for you, one for a friend of yours.
What's in this release
- Datastructure changed to Dataset
- Data Access Layer for XML and SQL Server added
- Multi Portal ability
- One Style per Portal
Styles
Styles has been moved to the "Styles" folder!
Using Data Access Layer
In the web.config file there is a new Tag added:
<add key="DAL" value="Portal.Data.DAL.DALXML, Portal" />
<add key="DAL" value="Portal.Data.DAL.DALSQLServer, Portal" />
Use one of them. If you want to use SQL Server, change the "web.config" tag "SQLConnectionString". You also must create the
Database manually. The schema can be found in the files
- Portal.API\Data\PortalDefinition.xsd
- Portal.API\Data\Users.xsd
Using multiple Portals
There is a new Module "AminPortalList". There you can define new Portals. To change the Style, create
a Folder with the Portal Name in the "Styles" directory.
ATTENTION! This is very buggy yet! Work is in progress!
Multiple Portals are only supported by the SQL Data Access Layer!
ToDo's
- Finish work on the Data Layer
- Styling
- Style Editor
- Multilangual support
- New Storage System for Modules
How to implement a new Data Access Layer
In the Portal.API Assembly there is a Interface "Portal.API.Data.IDAL".
Just implement it's methods.
void Load(out PortalDefinition pd);
void Load(out Users u);
void Save(PortalDefinition pd);
void Save(Users u);
// Load Methods
void LoadPortal(PortalDefinition pd, string reference);
void LoadPortals(PortalDefinition pd);
void LoadTab(PortalDefinition pd, string reference);
void LoadTabs(PortalDefinition pd, PortalDefinition.TabRow parent);
void LoadModule(PortalDefinition pd, string reference);
void LoadModules(PortalDefinition pd, PortalDefinition.TabRow t);
// Other
int GetNewTabPos(PortalDefinition pd, PortalDefinition.PortalRow p, PortalDefinition.TabRow parentTab);
// User
void LoadUsers(PortalDefinition pd, Users u);
void LoadUser(PortalDefinition pd, Users u, string account);
void LoadRoles(Users u, Users.UserRow user);
void LoadRoles(PortalDefinition pd, Users u);
ATTENTION! This interface may be changed! It's not ready yet!