Yet Another Web Framework - News

For information about our next new version visit Upcoming Version

YetaWF 2.6.1 Released

YetaWF 2.6.1 Released on August 15, 2017

  • Support for ASP.NET Core 2.0 (Release).

Installing YetaWF (Git Repository)
Upgrading YetaWF

YetaWF 2.6.0 Released

YetaWF 2.6.0 Released on August 13, 2017

  • New CurrencyISO4217 template supporting Currency selection and display. ISO 4217 currency codes are typically used by credit card payment processors/gateways.
  • New ExtraHead, ExtraBodyTop and ExtraBodyBottom site and page properties to define HTML to be added to <HEAD> and <BODY> tags. This is used to add 3rd party support, such as Google Tag Manager.
  • Build pipeline (gulp, ts, tslint, sass, minify,...) replacing the somewhat archaic MSBUILD parts.
  • TypeScript 2.4 support, with ES2015 code generation - Supports mixing JavaScript and TypeScript. JavaScript/TypeScript is used for individual (YetaWF) modules/templates. These do not import/require() external libraries or modules, so YetaWF avoids committing to a module loader (it's built in).
  • JSX support (without React, as it is not used by YetaWF) to simplify HTML/DOM manipulation.
  • Use of npm to manage all JavaScript packages, replacing Nuget.
  • Dropped MakeSite (used to install a new site) - While it was really easy to set up a new site, it would have required a major overhaul to support installing all the new parts, like nodejs, bower, etc. Because testing and supporting multiple install paths was quite time-consuming, we decided to use installs from the Git repository only (which also lines up with our internal requirements). We will bring MakeSite back down the road again, for binary installs only (i.e., installs without source code) for non-developers who just want to set up a new YetaWF site.

YetaWF 2.5.2 Released

YetaWF 2.5.2 Released on July 20, 2017

  • This release is now also available for ASP.NET Core MVC 2.0 (Preview 2) - Make sure to check all requirements.
  • Content Delivery Network support built-in for all major Javascript addons used by YetaWF (jQuery, jQueryUI, KendoUI, etc.) - Enable using Admin > Site Settings, CDN tab.
  • Module actions can now also be displayed in the module title area (Module Settings, Skin).
  • Syntax highlighter support for Highlight.Js (highlightjs.org).
  • New Admin configuration page to configure syntax highlighter - All syntax highlighting support has been removed from the Core package and is now only in the existing YetaWF.SyntaxHighlighter package.
  • Profiling uncovered some authorization and SQL issues - fixing these shaved off 20-100ms per Http request. You can never do enough profiling...
  • New serializer/deserializer for smaller data objects, typically used for caching. Saves ~15% run-time for a cached page request.

YetaWF 2.5.1 Released

YetaWF 2.5.1 Released on July 3, 2017

  • Every YetaWF site is a Single Page Site: Popups can optionally participate in Unified Page Sets making them much more responsive as only the necessary module contents are rendered. SEO and Analytics for popups are fully supported (just like pages - Unified Page Sets)
  • Removed the restricition so direct module links (/!Mod/...) can also participate in Unified Page Sets. These are sometimes used in grids, when no page has been designed for the detail view.
  • Skin definitions (skin.txt) now include additional information that was previously added in *.cshtml files.
  • New CountyISO3166 template to select a country (dropdown list). ISO 3166 1 support for country names (including 2 and 3 letter ids and 3 digit numbers, as these are often used by payment gateways like Paypal, Payflow, Squareup, etc.).
  • The UserProfile module now takes advantage of ISO 3166 1 country names to determine the address format. This removes the prior assumption of the module that the default site country is the US. The default site country is now configurable in Site Settings.
  • New UserId (YetaWF_Identity_UserId) template to select a user from the list of site users (as a dropdown list and a grid (Ajax), supporting sites with thousands of users).

YetaWF 2.5.1 is not currently available for ASP.NET Core (only) as we wait for netstandard2.0 support.

YetaWF 2.5.0 Released

YetaWF 2.5.0 Released on June 22, 2017

  • Every YetaWF Site is a Single Page Site:
    New "Unified Page Sets", which combine multiple separately created pages into one single page. This can be used to create a "Single Page Site". For large sites, page content in designated panes is replaced by new content via Ajax calls to the server to render modules. Only modules within designated panes participate in unified pages, so data transmission is minimized. Or for smaller sites, a unified page set can show all content at the same time using smooth scrolling when another Url is clicked, or can switch between content so visually pages still appear as individual pages, yet are loaded all as one page.
    There can be multiple sets of unified pages, within the same site, for logically related content.
    This makes it super simple to create a Single Page Site, even with very large number of pages, by creating/testing individual pages which can then be rendered as a single page. Absolutely no coding required.
  • New ScrollToTop skin module to display a quick link to return to the top of a page when scrolling. Can be referenced by site, page or module.
  • New standard module views, eliminating many existing module views for smaller footprint, better startup time.
  • Blog: Auto-generated Google News site map (https://support.google.com/news/publisher/answer/75717?hl=en) based on all published blog entries.
  • Error handling "polish": Add page status code when a module throws an internal error or error. Handle direct GET when internal error or error is thrown by redirecting to an error page (usually only needed for file downloads).
  • Strings weren't stored as NVarChar in SQL tables. While things worked, that wasn't good (see VarChar or NVarChar Is Never The Question). All data is automatically updated when upgrading to 2.5.0 without any data loss.
  • ASP.NET 4: Move all Web.config <appSettings> into new Appsettings.json file in Data folder. This aligns it with ASP.NET Core.
  • ASP.NET Core: Move Appsettings.json to Data folder.
  • Eliminate MIME type configuration from Web.config/Appsettings.json and move to its own file. Now third-party packages can extend the MIME types with their own keywords (extending ImageUse, FlashUse, PackageUse, etc.).
  • Eliminate LanguageSection from web.config/appsettings.json and move to its own file. Also eliminated Add/Edit options for languages (Admin > Languages) as these would be rarely used. Instead, the json file is edited.
  • Expand YetaWF Solution and YetaWF Solution2 repositories (GitHub) so YetaWF can be installed by cloning the repository (see https://yetawf.com/Documentation/YetaWF/Topic/g_installing_git) - The MakeSite utility will continue to be the preferred installation tool.

YetaWF 2.0.2 Released

YetaWF 2.0.2 Released on April 28, 2017 (ahead of schedule to address numerous issues as ASP.NET Core MVC dev depot was updated to 2.0 prerelease)

  • Search Module: Completely reworked mechanism to extract search terms from pages and dynamic Urls. Additional page summary displayed in search results. Misc. additional enhancements. This fixes an issue where blog entries weren't fully covered with search terms.
  • Page load enhancement: Configurable max-age for response headers for static files.
  • Site Edit/Display mode is no longer stored per session - It is now much easier to have multiple windows/tabs open and mix edit/display mode.
  • UserProfile Module: allows users to enter full contact information.
  • Alignment of Logging and Visitor Activity (both now record session id).
  • Client-side validation fixed (ASP.NET Core failed to validate client side - Server side validation and validation on MVC5/ASP.NET4 was unaffected).
  • Addressed many client-side validation issues. Some minor server-side validation issues addressed. It does not appear that either allowed invalid data server-side, but could result in confusing (or missing) warning indicators for invalid fields or defer to server-side validation (without client-side validation).
  • New Basic Templates test page to test all built-in templates.

YetaWF 2.0.1 Released

YetaWF 2.0.1 Released on April 6, 2017

  • Stackable log providers (in addition to default log provider).
  • Initial site startup feedback page (to provide information as to what is happening as first time site initialization can take a long time).
  • Optionally define mandatory two-step authentication setup for defined roles. This could be used to enforce two-step authentication for all users, and/or admins, superusers, etc.
  • Log (SQL/File) for Scheduler activity.
  • Built-in site map, user configurable via site and page settings, with scheduler task that rebuilds/updates the site map at regular intervals.
  • Last-Modified added to http headers for all static page requests.
  • Click tracking for static files and external links in Visitor Activity (by adding yTrack CSS class to <a> tag).

YetaWF 2.0.0 Released (Beta)

YetaWF 2.0.0 Released on March 22, 2017

  • Support for both ASP.NET Core MVC and ASP.NET 4 MVC 5 with full 99.4% source code compatibility for modules and packages.
  • Blog package: New Summary module (for a recent posts summary) and misc. fixes.
  • Dashboard package: misc. additions/changes to support ASP.NET Core - Status display now shows ASP.NET version.
  • Misc. updated third-party packages.
  • Support for Visual Studio 2013 has been dropped. Supported versions are Visual Studio 2015 and Visual Studio 2017. YetaWF for ASP.NET Core is supported with Visual Studio 2017 only.

YetaWF 1.1.1 Released

YetaWF 1.1.1 Released on January 24, 2017

Between 1.0.9 and 1.1.1 we have focused on performance quite a bit and 1.1.1 shows up to 75% faster page load time for regular pages, compared to YetaWF version 1.0.0. Static pages, introduced in this version, take this even further as they approximate the speed of static html pages, while preserving the administrator's ability to simply change a page. Once saved, the static page is recreated.

  • Static pages - Create a static site or mix static and dynamic pages throughout the site. Any page can become a static page for super-fast download (as long as its content is in fact static). This is ideal for a home page and other pages that rarely change. If you make a change to a page, it is automatically regenerated. Static pages have access to all available YetaWF features.
  • Schedule item to automatically remove old log records (SQL only).
  • Expanded email sending support with ability to provide text and html contents as strings.
  • Search Module, order results by relevance, simplified SQL query, fix for multiple AND search terms.
  • Performance enhancement - reduce impact of main menu (and menus in general) - eliminate need to deserialize - eliminates 25% of code path per page.
  • Performance enhancement - keep same SQL connection for duration of a data provider.
  • New DisposableTracker module to view objects that are allocated and implement IDisposable - used for development to find leaks.
  • Misc. fixes (whitespace filter, favicon W3C violation, canonical urls).
  • Misc. third-party package upgrades.
  • The class AreaRegistration which must be implemented for each package has changed (AreaRegistration.cs in each package). This must be changed for custom modules only.

YetaWF 1.1.0 Released

YetaWF 1.1.0 Released on November 12, 2016

  • Performance tuning related to module rendering.
  • Login using Facebook, Google, Microsoft, Twitter accounts (while included in earlier releases, this was not working - Not a good example of step-wise refinement, going from broken to fixed), see User Login / Authentication.
  • Misc. minor fixes.

YetaWF 1.0.9 Released

YetaWF 1.0.9 Released on October 24, 2016

  • Visual Studio 15 support (AKA Visual Studio 2016 or 2017, mainly affecting Install/Upgrade). Support for Visual Studio 2013 will be dropped once VS 15 is released.
  • MakeSite now installs Microsoft Visual C++ 2012 Redistributable Package - used for NSASS.
  • MakeSite Utility updated to deploy a YetaWF site to Azure and server deploy documentation updates. While already possible and fairly straightforward, this utility creates a copy of a YetaWF site while honoring symlinks (which VS Deploy doesn't do), excluding SQL DBs, which can be deployed to Azure using FTP.
  • New module to display active Http Modules - used to determine which can be removed for performance tuning.
  • Module definition caching for improved page load time.
  • Web.config performance tuning.
  • Misc. minor fixes.

YetaWF 1.0.8 Released

YetaWF 1.0.8 Released on October 10, 2016

  • Alert module to display site wide accouncements (we could have used this for Hurricane Matthew).
  • Modules supporting https://disqus.com/ for page comments. (Quote: "Disqus offers the best add-on tools for site owners to power discussions, increase engagement, and earn revenue."). While this is part of the Blog package, it can be used independently of the Blog modules, on any page.
    • With optional Single Sign On using the YetaWF site's authentication.
    • Optional Gravatars with Single Sign On.
  • Bootstrap Carousel Module offering interactive carousel configuration including images and captions (no HTML knowledge required).
  • Switch to case-insensitive Urls for all pages. This may impact users who have have pages with identical Urls (ignoring case) - these must be renamed.
  • Improved Module Selection template.
  • Meta data can now use variable substitution.
  • New simple sample bootstrap skin - ported BusinessCasual skin (https://startbootstrap.com/template-categories/all/)
  • Template actions are now supported for module settings (ModuleDefinition-derived classes).
  • MakeSite/UpgradeSite utilities always run from website to insure latest version is used (required as new YetaWF versions may require new features in these utilities).
  • Misc. minor fixes.
  • Documented all templates and how to create custom templates (https://yetawf.com/Documentation/YetaWF/Topic/g_dev_templates).

YetaWF 1.0.7 Released

YetaWF 1.0.7 Released on September 22, 2016

  • Telerik's Kendo UI Core 2016.3.914 was recalled by YetaWF because of unusable DropDownLists, Date and DateTime pickers on Android (see https://github.com/telerik/kendo-ui-core/issues/2197). We released 1.0.7 to work around this issue.
  • New Scroller DevTests test page.
  • Many minor bug fixes.

YetaWF 1.0.6 Released

YetaWF 1.0.6 Released on September 21, 2016

  • Support import/export of source packages and binary packages, making it easy to give/sell packages. Strip license information/verification code from source code.
  • ProcessIfAttribute to support hiding/showing properties in response to a changing property (enum value) - used for data annotation - affects client-side javascript used to show/hide/validate fields, server-side validation.
  • Improved whitespace compression (HTML output).
  • Use of Kendo DropDownList throughout ("DropDownList" and all related templates), except mobile devices.
  • Use of Kendo MaskedTextBox throughout ("Text" and all related templates).
  • Use of Kendo NumericTextBox throughout ("IntValue" and all related templates).
  • Rewrite of localization (better caching, less memory use).
  • Automated translation of localization resources (using Google Translate or Microsoft Translator) to assist translation of packages to other languages - Translations are not perfect but provide a good head start.
  • Rename of "GoogleAnalytics" to a more general "Analytics" as it can be used with other providers also (for example Clicky).
  • Many fixes for rendering on small devices.
  • The initially installed site now has a sample IFrame module. Past versions included the IFrame test page, without the IFrame module.
  • Many minor bug fixes.

YetaWF 1.0.5 Released

August 23, 2016

  • Authorization model change - Modules can no longer inherit authorization from the containing page (SameAsPage property) as this was too confusing and could lead to security issues (see Authorization).
  • Admin>Modules and Admin>Pages show User and Anonymous User visibility.
  • Skin supported display of module/page ownership (whether a user or anonymous user can "see" the module/page) with additional User Setting.
  • Fix rendering of page/module authorization in property pages.
  • Blog Categories module property page didn't show the Categories dropdown correctly.
  • Two-step authentication built into Core - requires add-on packages for SMS, Email or Google Authenticator two-step verification.
  • Header/Footer attributes were not honored in tabbed property pages.
  • Site restart now correctly updates all symlinks (switched to junctions).
  • New 3rd party addon versions.

YetaWF 1.0.4 Released

August 14, 2016

  • Google Analytics support (site wide and per page)
  • Meta tags (site wide and per page)
  • Control Panel offers W3C Validation link for current page
  • New RecaptchaV2 (Google) replacing Recaptcha
  • Icon caching (performance enhancement)
  • AddOn Info module - displays info about available javascript and css packages
  • IFrame module used to include page contents
  • SMS API to send SMS/emails with 3rd party providers Twilio, Nexmo (preparing for two step authentication (not included in 1.0.3))
  • Modules can now define Bootstrap container/row settings (when used with suitable Bootstrap skins)
  • W3C compliance fixes
  • MakeSite and UpgradeSite now correctly start Visual Studio if a path name with spaces is used (doh!)
  • SiteTemplates are now packaged with the package that installs them
  • Module Skin edit has been fixed
  • Various 3rd party package upgrades

YetaWF 1.0.3

Rejected in final testing due to an issue with CKEditor

YetaWF 1.0.2 Released

July 28, 2016

  • Main menu adds MegaMenu features (display a module as a submenu).
  • Fixed menu editing (no more dups).
  • Add new site (additional site) fixed so it works with IIS, not just IIS Express.
  • Automatic package upgrades (with logging) during site restart (development system only)
  • Finalized UpgradeSite utility
  • New BccForgottenPassword property in User Login Settings so admin receives email copies for forgotten passwords.
  • New 3rd party packages (jquery-ui 1.12 and others)
  • Prepared for jquery 3.x, but not active because Kendo UI Core package not ready for jQuery 3.x

.\Website\Sites Folder Security Issue

July 1, 2016 - We discovered a security issue, due to a missing file in the initial release. While it's nearly impossible to guess the name of a critical file name, because all paths use some form of Guid, it's still a security issue. Directory browsing is never available.
1.0.2 will add a web.config file at .\Website\Sites to protect all files within the folder.

<?xml version="1.0"?>
<configuration>
    <system.webServer>
        <handlers>
            <remove name="BlockViewHandler"/>
            <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
        </handlers>
    </system.webServer>
</configuration>

YetaWF 1.0.1 Released

June 30, 2016 - We released YetaWF 1.0.1
Installing YetaWF
YetaWF Documentation (work in progress)