Draft:Elanat

Elanat is a open source web framework for building dynamic web application. The product is released under the GNU General Public License version 3. The Elanat framework has a inner content management system and has eight varios add-ons. This project was launched in May 2023. At the beginning of July 2023, Elanat announced a Back-End MVC web framework that includes a style for creating aspx files in ASP.NET Core and made it available to everyone, and announced that soon Elanat framework from .NET Standard to the latest versions of ASP.NET Core migrates. . The source code of the new Elanat version based on .NET Core 7.0 was placed on GitHub at the end of August 2023, and a week later the ready-to-install version was made available to everyone.

System architecture
This system is an add-on-oriented structure and consists of the central core, several systems, and add-ons. This system is very loyal to the add-on structure in such a way that the component add-on of this system is a component add-on and the content display system is one page. The add-on-oriented structure means that Elanat add-ons run independently from the core. In such a way that any pre-created web application can be used as an add-on in Elanat. The core structure of this system only interacts with the standard ASP.NET framework and uses an internal MVC structure. This feature allows Elanat to easily migrate to another framework or server side programming language. Elanat supports all programming languages for creating add-ons. Elanat uses a special template structure, where the frequently needed parts of a web page are stored in several xml files. This feature has made the HTML tags in the entire source of Elanat not even reach the fingers of one hand. This system uses Code Behind structure. In terms of performance, this structure is no different from the coding structure inside HTML pages, and by separating the coding part from the web display structure, it makes project management easier. With its special template structure, Elanat reads and combines immutable HTML codes without compilation into server-side codes from XML files.

Important features

 * The add-on-oriented structure includes 8 different types of add-on
 * Support all programing language for add-ons
 * Fully implemented with Stored Procedure
 * Separation of style from template
 * Separation of style and template of the admin section from the site section
 * Translatable pages and add-ons
 * Role-based permissions for all members and guests
 * Performing tasks before and after each request from the client to the server
 * Recording of user actions and system messages
 * track control before and after run a url

add-ons
According to the list below, There are 8 different types of add-ons in Elanat :
 * Component
 * Module
 * Plugin
 * Patch
 * Page
 * fetch
 * extra helper
 * editor template

Component : component can have different definitions or meanings in each system. In the Elanat framework, add-ons that only administrators role have access to are called components. plugins, modules, and the component itself each have a component management page.

Module : Modules and plugins are a kind of add-on that can be displayed in any part of the website; add-ons in Elanat framework that being able to display, provide separate management for the add-on, are called modules.

Plugin : Add-ons that are purely visual and do not have a management page are called plugins.

Patch : After installing this add-on, it creates a series of changes in Elanat framework and has no page to display.

Page : The page is a type of add-on that is displayed in the site section of the Elanat framework. The page can be static or dynamic.

Fetch : fetch is an add-on that combines database queries with HTML tags and can be displayed on any page or add-on from the Elanat framework. This add-on can be run without displaying the values and make changes in the database only after running.

Extra helper : Extra helpers are add-ons that only showed in admin section of Elanat framework and only administrators access to this add-ons.

Editor template : Editor templates add-ons are part of a html page template; each of the Editor templates helps content writers use a ready-made template to create pages faster and more organized.

Core add-ons
Component : about, add_content, approval_comment, approval_content, attachment, backup, category, comment, component, configuration, contact, content, dashboard, editor_template, extra_helper, file_manager, foot_print, item, language, link, menu, module, options, page, plugin, profile, properties, recycle_bin, refresh, content_reply, role, site, statistics, admin_style, site_style, admin_template, site_template, user, view, fetch, patch, group

Module : today_activity, information, last_data

Plugin : show_site_ddlst, show_admin_user_menu, show_language_ddlst, show_quick_search, show_language_extra_ddlst, show_category_ddlst, show_calander, show_site, show_member_page, show_page, show_content_type, show_admin_system_menu, show_admin_component_group, show_admin_module_group, show_admin_extra_helper_group, show_admin_language_extra_ddlst, show_admin_site_ddlst, show_current_site, directory_text_file, show_accept_cookie_message

Patch : lock_login, rss, sitemap

Page : main, content, contact, error, login, logout, print, search, sign_up, sitemap, rss, about, forget_password, comment, content_reply, change_date_and_time, change_language, change_template_and_style, change_view, change_profile, change_avatar, change_email, change_password, user_comment, user_content, user_foot_print, user_info, user_statistics, contact_response, user_agreement, privacy_policy, terms_of_service, email, confirm_email, robot_detect_captcha, public_user_info

Fetch : (not exist)

Extra helper : inner_xml_to_html, html_to_inner_xml, admin_note, show_logs_list, show_extra_helper_list, show_admin_component_access_view, upload_file, content_avatar, site_logo, rss_option, search_option, xml_sitemap_option, sitemap_option, comment_option, content_reply_option, contact_option, sign_up_option

Editor template : plus 14, image preview