Giter Club home page Giter Club logo

i7media / mojoportal Goto Github PK

View Code? Open in Web Editor NEW
193.0 42.0 101.0 60.92 MB

mojoPortal is an extensible, cross database, mobile friendly, web content management system (CMS) and web application framework written in C# ASP.NET.

Home Page: https://www.mojoportal.com

License: Other

C# 59.79% JavaScript 26.00% CSS 4.18% HTML 1.60% XSLT 0.04% PLpgSQL 1.15% Smalltalk 0.25% PHP 0.01% TSQL 1.56% ASP.NET 4.28% Less 1.15%
asp asp-net cms cms-bundle

mojoportal's Introduction

mojoportal's People

Contributors

crispinf avatar dependabot[bot] avatar elijahfowler avatar isaac-hall avatar jedelfraisse avatar joeaudette avatar josephmdavis avatar nightzero avatar otuncelli avatar shawngro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mojoportal's Issues

Deletion from JQueryFileUpload fails when delete anything below a file that has already been deleted

the problem arises in line 410 of this
mojoportal/PrototypeWeb/Controls/jQueryFileUpload.cs
A click handler is added to each file in the list, using its index in the array. Once any file has been deleted, this index is incorrect for files below the deleted file.
Could the file name be used instead of the index?
Or could the file list be regenerated with its delete handlers after each deletion?
I should add... we are going to have to fix this anyway in a few days time, so if you cannot suggest the best solution before we get to it, we will post our results in due course.

Extensible Permission System

Implemented as a separate table to make it easier to plugin new permissions with permission name and allowed roles.

Currently, we add a custom site setting for new permissions but over time it's getting to be more and more of them and a bit unwieldy.

Index to improve retrieval of user properties

We have found this index dramatically improves performance if user properties are accessed in views:
CREATE NONCLUSTERED INDEX [IX_UserProperties_UserGuid_Propertyname]
ON [dbo].mp_UserProperties
INCLUDE (PropertyValueString)
(potentially relevant to cloudscribe as well?)

Categories/Tags

there should be a category/tagging sub system so it does not have tobe implemented for each feature

CRM?

there should be some core CRM subsystem to keep track of contacts and customers

product images

webstore needs product images so markup of images can be determined by skin

Editor Permissions per Newsletter

Business Case: Multiple teams have newsletters with different subscribers. The different teams should not be able to send each other's newsletters. With a setting on the newsletter properties specifying who can edit and send that particular newsletter, each team could be responsible for their own newsletters.

Check Out Content

Need some way to allow a user to "Check Out" content so others can't make edits at the same time or they're at least made aware someone else could be editing?

Blog Post Image

There is already a blog post image that is used by the google news feature of the blog. This should work without the google news feature.

SMTP Settings Check

Need a tool to check SMTP settings. Of course, a successful test doesn't mean messages will be reliably delivered but it would be useful to know if the site can at least connect to the SMTP server.

Editor Content Template Enhancement

Ideas for making the Content Templates work better.

  • Service saves HTML file templates instead of in database (Editing help files already has the functionality)
  • Have a legacy templates exporter setting in the web.config/user.config that will check the first time it's run to see if there are custom templates in the database and create HTML templates, then delete the database table
  • Service would read directory and list all template files with matching named thumbnail image files
  • Templates folder would have web.config file to keep the web server from serving the files
  • Add a "Templates Importer/Exporter", which just compresses/uncompresses (zips/unzips) the files
  • Use a Data level templates folder and a sites/[site here] templates folder
  • Add a template cache file, most likely JSON, so the service won't have to hit the file system every time someone goes to edit content

This leaves things as dynamic and as simple as possible.

Workflow for Pages

Currently, workflow is implemented only for HTML content modules. Would be nice to have workflow for pages. N really sure how it should work but leaning to making it independent of whether there is draft content on the page so that even if the page has no draft content it can still be a draft page.
need to figure out what db fields we need to track submission and approval

Blog URL Prefix

The blog is used for all kinds of things, not just blog posts. We've had clients use it for news sites, knowledge bases and bunch of other things.

Having a setting to allow a site owner to prefix blog post URLs with a string of characters would be very helpful. Would be great to allow a path, e.g., "/kb/". Not sure if that will cause problems with other features or not. Folder Based Child Sites might not like it but that's a decision the site owner can make.

More Caching of Business Objects

For azure and other cloud hosting, it would be useful to be able to do more caching to reduce hits to the database since cost is based on use.

Rather than previous caching of modules UI output, we could cache just the business object, this way rendering can still adapt to if the user has edit permissions, thread culture etc
even users could be cached for 5 minutes or so and we can clear the cache on edits and updates

Badges

Allow forum moderators to add badges to a users profile. This would help in keeping things like "mojoPortal Expert" uniform and prevent others from adding them.

Error Handling for theme.skin Module Configurations

Currently if you want to add theme.skin settings for mojoPortal modules, you must register the module at the top of the theme.skin file, but if the registration exists and the module is not installed it causes a very unfriendly error.

For instance, if you download a skin that has a special configuration for Form Wizard Pro, it will have Form Wizard Pro registered in the theme.skin like this:

<%@ Register Namespace="sts.FormWizard.Web.UI" Assembly="sts.FormWizard.Web.UI" TagPrefix="stsfw" %>

In this case, your skin will be rejected if you do not have Form Wizard Pro installed. This can be solved easily by simply commenting out this line in the theme.skin, but if you fail to do that it will break all site styling. Ideally this issue would just be logged in the system log, and not prevent the skin from working.

Role Propagation

ability to push role changes from parent page down through child pages

by default, it would only change the parent page but a checkbox could indicate to push the roles to child pages.

deleting user with drafts causes error when viewing page with the draft

trying to edit the content throws this error: 2015-01-15 11:48:37,982 ERROR 000.000.000.000 - en-US - /blue-elk-unit-service?vm=WorkInProgess - mojoPortal.Web.Global - Referrer(https://redacted/Admin/RejectedContent.aspx) useragent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0
System.InvalidCastException: Object cannot be cast from DBNull to other types.
at System.DBNull.System.IConvertible.ToInt32(IFormatProvider provider)
at mojoPortal.Business.ContentWorkflow.PopulateFromReader(IDataReader reader)
at mojoPortal.Business.ContentWorkflow.GetWorkInProgress(Guid moduleGuid)
at mojoPortal.Web.ContentUI.HtmlModule.LoadSettings()
at mojoPortal.Web.ContentUI.HtmlModule.Page_Load(Object sender, EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Content Notes

it would be nice to have a content notes subsystem that could be re-used across features

Default Content Templates Not Shown in Administration

  1. Remove the current default content templates that use old markup and jQuery UI.
  2. Create clean bootstrap-based content templates for generic content.
  3. Include these content templates in the database by default so they are there on new sites, and so they are editable/removable from the site just like all the other templates will be.

Need SuperUser setting

Need a setting in web.config for the id of an account which cannot be deleted and password cannot be changed except by that user. This will help prevent people locking out the demo site.

Add a Warning When Deleting Pages

Show an alert when deleting a page to ask "are you sure?".

Contextual information and warnings that could be helpful:

  1. This page has child pages nested under it.
  2. "X" number of other pages link to this page (within the system).

Online Editing of Message Templates

Message Templates are currently editable only through a text editor.

Need to add the ability to edit these files through the administration of the site. The same functionality currently used to edit the help files can work as a first step.

Page Templates

much like the initial content system, a new page wizard would allow the user to choose a page template that defines what features would go on the page and what the initial content of the feature would be.
It would be different than the initial content in that the page name would be provided by the user, url would be suggested based on page name.

need to also make it possible to configure global content from the templates for things like sidebar content shown on all pages.

Defaults for Child Site creation

Some fields are currently populated with options from the main site when creating a new site. These fields should either be blank or there should be a place to set defaults.

Role Descriptions

Have a field for descriptions on roles. A larger site may contain a lot of roles and site owners can get confused about which ones are setup for what actions. A description field will allow owners and site builders to leave notes about the roles.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.