Giter VIP home page Giter VIP logo

r7-labs / r7.university Goto Github PK

View Code? Open in Web Editor NEW
12.0 3.0 7.0 7.64 MB

DNN Platform subsystem designed to present and manage high school educational organization assets (divisions, employees, courses, etc.) compatible with Rosobrnadzor microdata recommendations

License: GNU Affero General Public License v3.0

C# 68.25% CSS 0.88% JavaScript 1.66% HTML 2.06% PowerShell 0.13% ASP.NET 16.92% SCSS 0.02% TSQL 10.08%
dnn dotnetnuke module obrnadzor-gov-ru russian university aspnet agplv3

r7.university's Introduction

R7.University

Build Status BCH compliance Join the chat at https://gitter.im/roman-yagodin/R7.University

Modules and base library for DNN Platfrom designed to present and manage various assets (e.g. divisions, employees, educational programs, documents) for high school educational organization website, compatible with obrnadzor.gov.ru requirements on information structure and microdata.

На русском

Модули расширения и базовая библиотека для DNN Platform, предназначенные для отображения и управления информацией о различных ресурсах образовательной организации (подразделениях, сотрудниках, образовательных программах, документах и т.д.) на сайте образовательной организации высшего образования, совместимые с рекомендациями Рособрнадзора относительно структуры информации и микроразметки.

License

AGPLv3

The R7.University is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Dependencies

Example of use

See R7.University modules in action on the official website of Volgograd State Agricultural University:

r7.university's People

Contributors

gitter-badger avatar roman-yagodin avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

r7.university's Issues

Only admins should be able to add or delete assets

Not any module editor can delete any major asset. It's not very secure, so delete action should be available only to admins.

In the long term, permission system must be part of organization / portal level settings.

Cross-portal Tab URLs

When using Employee modules on different portal, tab URLs are generated for current portal, resulting in the wrong URL target.

Default employee photo images

When no photo specified for employee, default images should be used. Need to provide them with module install for each culture, in case they are containg some text.

Merge employee positions from same division

If employee have two or more positions in same division, now it is displayed as:

Professor: "IT" Chair (link), Dep. Head of Chair: "IT" Chair (link)

In this case, same division positions must be merged, to not repeat division name with a link:

Professor, Dep. Head of Chair: "IT" Chair (link)

Clear achievement form when editing is done

For now, editing / adding achievement leaves form elements filled with its data, what makes subsequent editing / adding more difficult as user should manually clear all previous data.

Employee achievements

Need to implement employee achievements, such as education, training, work experience, titles and regalia, and so on.

View controls is empty on repeating postbacks

The problem is, if user do postback on the page and after this refreshes page by F5, the view controls loose their state - as they "think" it's a postback, but there are no ViewState associated with it.

So, we must completely disable postback checks in OnLoad() methods, rendering controls on each request, or do additional check for ViewState availability.

EmployeeDetails module / mode

Need to implement separate EmployeeDetails module or a mode for existing Employee module to allow display employee detailed information right on the page.

Division regulations document URL

Need to add a field for division regulations (main document) URL to the University_Divisions and update corresponding UI and other logic.

ViewEmployeeDetails: Edit button

ViewEmployeeDetails control should have an edit button to allow easy switching to edit mode and thus provide edit functionality to the EmployeeDirectory module.

Teacher's disciplines

Employee (teachers) should have a field for storing data about their disciplines. In the current state of development it is uncertain, could it be possible to put teachers, disciplines and training directions / profiles all together and keep them in sync, so I'm thinking about single text editor field.

vCard does not downloaded correctly from remote server

vCard does not downloaded correctly from remote server then executing Employee and Division module action (it's ok then using local server).

The issue seams related to Response.Close() before client receives data. Using Response.End() instead of Response.Close () adds HTML code to vCard.

Possible solutions are:

  1. Use .aspx page instead of DNN module .ascx control to handle request
  2. Redirect request to file (has some drawbacks about file encoding, etc.)

External links not working

External links in achievements via LinkClick.aspx not working - instead of redirect to external resource, browser tries to download LinkClick.aspx file itself.

Global settings

R7.University module set should have some kind of global settings to get default values from. Examples of those values: default "no photo" image for an employee, default location of photo images, filename format for square images, etc.

Global settings may be portal-level, or organization-level with separate module for administration (maybe, Launchpad modification).

Short titles must be optional for all entites

There are some problems to write a short title in many cases, so it should be very useful to make short titles optional and use full titles instead if no short title was specified.

Some work on it done In d77032d, but it is related only to employee achievements. All other IReferenceEntity classes and their derivatives should use similar approach.

Directory modules: Search phrases filter setting

Both EmployeeDirectory and DivisionDirectory module need settings to filter / check search phrases to prevent search overhead in known cases.

By example, most employee work phones could start with same code, like "+7 (8442) ...", so searching by some substring of it will lead to populating grid with almost all employee's data. Check should be done like that:

var deniedWords = new [] {"+7 (8442)", "..."  };

var pass = true;
foreach (var deniedWord in deniedWords)
{
   if (deniedWord.Contains (searchPhrase))
   {
       pass = false;  
       break;
   }
}

Allow more chars for phone number fields in a DB

Current version allow to specify several phone numbers in one field, comma-separated. But it really works only for 2 phone numbers - more just not fits in table field and leads to silent crush with no changes saved.

EmployeeList: don't show head employee

In some cases we do not need to display all employees in the division - e.g. only most important ones, or all employees except most important (as we may show them with Employee module on the same tab).

To implement this, we should add two settings like PositionWeightMin and PositionWeightMax to the EmployeeList module.

Position flags

Some high-level, organization-global positions are self-describing, like "president", "director", "rector", "vice-something", etc. - so there is no need to add division name / link to them.

The options are:

  1. Use position weight - so all positions with weight greater than some boundary value (defined in currently not implemented organization / portal level setting) are automatically fall to that category.
  2. Add additional flag to the position entity (more work, but no uncertainty with organization-level settings and no direct relation with position weight).

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.