Signum Framework Logo
"Open framework that encourages convention over configuration, using C# code,
not XML files, to model at the right level of abstraction and achieve deadlines.
...but also has a full Linq provider, and syncs the schema for you!"
Login
RSS

Search

»



Main
Index
Map
Videos
Download
Source code
Tutorials
Forum
FAQ



Image



PoweredBy

Image
Wow! 9 Months yet. With almost no update in Signum Framework. Is the project dead?? Not at all!!.

Unfortunately, it's hard to use two Team Foundation Servers at the same time in one solution, Codeplex for the framework and our own TFS for everything else. That's why we are doing our daily check-ins in our own TFS. However, our compromise is to, once in a while, check-in a major update of the Signum Framework with all the new features that we have added.

Here it is, SF 2.0 with lots of new features:

  • General improvements in almost every area, following the same principles: No-ceremonial Compile-time-checked C# code with lambda expressions all around :)
  • Fixes to some bugs found by us or the community.
  • A better model to create vertical modules (DB, Entities, Logic, and UI) that compose nicely.

Most changes have been expansions of the API, but there are some small breaking changes. The most dramatic one is that Lazy has been renamed to Lite with forecast of the incoming Lazy in .Net 4.0.

A comprehensive Changelog for Signum Framework 2.0.

Table of Contents [Hide/Show]


Signum.Entities
      Entities
      MList
      Lite (Lazy renamed)
      Attributes
       Validators
      Integrity and Graphs
      Signum.Services (merged with Signum.Entities)
Signum.Engine
      Database
      Administrator
      Schema
      SchemaBuilder
      Synchronization
      Linq Provider
      DynamicQueryManager
Signum.Windows
      Route
      Controls
      MarkupExtensions and Converters
      Server
      Windows
      Search
      Widgets
      Navigator
      Fluent
      Others
Signum.Web
Signum.Utilities
      Extensions
      DataStructures
      Synchronization
      ExpressionTrees
Signum.Test


Signum.Entities

Entities


MList

  • Small bug in MList
  • MList support for List methods like FindIndex, FindLastIndex, LastIndexOf....
  • Remove GetHashCode in MList

Lite (Lazy renamed)

  • Lazy -> Lite (because 4.0)
  • Entity (throws) and EntityOrNull (returns null)
  • Is and RefersTo extensions methods (Linq enabled)
  • Fix in Lazy PreSaving

Attributes


Validators

  • IntegrityCheck not virtual
  • this -> PropertyValidation
  • StateValidator (allowed to be null depending on the state, in a table fashion)
  • New Validators
    • Url
    • Telephone
    • FileName
    • Decimals
    • NoRepeat
    • NumberBetween
  • Refactoring Integrity
  • Refactoring Corruption (ICorrupt removed, Corrupt is a pattern and CorruptEntity an example)
  • GraphExplorer.Integrity checks for CLONE ATACK

Integrity and Graphs

  • CommonProperties moved to Reflector
  • InstancePropertiesInOrder in Reflector
  • GraphExplorer.SuperGraphviz
  • PreSaving calling ToStr instead of toStr
  • Duplicate Graph on saving to enable PreSaving modifying it
  • Support for formatting strings in Reflector

Signum.Services (merged with Signum.Entities)

  • ServerTypes
  • INotesServer
  • ServerNow
  • Meta in Column

Signum.Engine

  • New Transaction System
    • Real, Faked, Named, MockReal and MockNamed
    • RealCommit event in Transaction
    • Transaction Commit(value)
  • ObjectCache -> EntityCache
    • ForceNew in EntityCache
  • SqlPrecomand OpenSqlFile
  • Add handling in SqlExceptions
  • ServerBasic (basic implementation of all the interfaces of Signum.Service for you to inherit)
  • Misspelling in TypesLogic
  • TypesLogic

Database

  • UnsafeUpdates
  • UnsafeDelete
  • Many overloasings use IIdentifiable instead of IdentifiableEntity to avoid castings in clientCode
  • Database RetrieveFromListOfLite
  • Retriever (ProcessAll now is responsibility of Database)
  • RetrieveAll and RetrieveAllLite use the Linq provider now.

Administrator

  • ExistTable UnsafeRetrieve, TryRetriveAll and other methods for Sync scenarios
  • ShrinkDataBase for generation scenarios
  • DisableIdentity, SetId, SetNew & SaveListDisableIdentity for loading scenarios
  • SetSnapshotIsolation and MakeSnapshotIsolationDefault
  • Some things moved to TypesLogic

Schema

  • Schema Refactorings (KindOfField.Lazy removed, Field and EntityField split, XXXField to FieldXXX)
  • New Infrastructure for ModuleLogic
    • Generating event
    • Synchronize event
    • Initialize event
    • Events on Schema for authorization
    • OnDeleted / OnDeleting
    • OnRetrieved / OnRetrieving
    • OnSaved / OnSaving
    • EntityEvents (with isRoot)
  • SchemaBuilderSettings
    • OverrideFieldAttributes
    • OverrideTypeAttributes
    • Change default CLR Type -> SQL Type mapping.
  • Bug UniqueMultiNull

SchemaBuilder

  • Remove IncludeAll and IncludeSimilar to avoid maintainability problems, IgnoreAttribute no longer applicable to types.
    • Add NotDefined method to allow a #ifdef/#def
    • tl/tltr prefix are removed from table names by default.
    • MList BackReference name is 'idParent' instead of 'idXXX' in order to allow MList to the same type.
  • Small internal changes in the way Saver deal with graphs
  • TypeDN logic goes from Administrator to TypeLogic

Synchronization

  • Synchronizer utility class
    • Support for Renaming (Synchronization & SqlBuilder)
    • More improvements in Synchronizer (Table Renamings, Updates without lastId, Error handling)
    • delete sync
    • insert sync
    • DeleteSync & UpdateSync with ToStr
    • 'use' in Syncronization Script
  • InsertSqlSync / UpdateSqlSync with PreSaving

Linq Provider

  • InSql extension methid
  • Support to navigate though interfaces
  • Extensibility (now in Signum.Utilities)
    • fieldExpression
    • expression.Invoke()
    • MethodExpanderAttribute
  • Bugs and refactorings
    • GroupByReorderer -> GroupByAsserter
    • Small bugs dealing with MList
    • EnumExpression removed (Convert is enough)
    • FieldInitExpression Id -> ExternalId
    • fixes in the Linq provider due to Group By moved to Utilities now
    • Changes in TranslateResult, Query, QueryProvider
    • Improvements in paratemers in Linq to SQL
    • Changes in GroupBy and Aggregates
    • Changes in Join
    • Exist/Subquery/In/Scalar
    • Changes in IsNull / IsNotNull
    • SqlConstant
    • ProjctionToken changes
    • Outer apply problem -> TypeLogic mandatory
    • Expression's NiceToString

DynamicQueryManager

  • MetadataVisitor
  • DynamiqQuery (authorization, Meta, PropertyInfo)
  • ManualDynamicQuery
  • ExpressionNominator, DbExpressonNominator y MetadataEvaluator (avoid executing on Initializing)
  • DynamicQueryManager Unification
  • DynamicQueryManager external authorization

Signum.Windows

Route

  • Extensibility model for Common.Route
  • Reorder Common.Tasks
  • PseudoRoute
  • CollapseIfNull
  • Fix in CollapseIfNull
  • Common.DelayRoutes()

Controls

  • Improved Design Time Support and Default Property Name
  • Better design time support for ErrorSummary
  • EntityList autoselect and blue when selected & !Activated
  • Autorefresh ComboBox
  • AutoCompleteElements in EntityLine
  • NumericTextBox Border in Classic Theme
  • Fixes in EntityBase
  • Bug fixed in EntityType en EntiyBase
  • HighPrecisionNumber
  • ShyPanel
  • LightEntityLine: Shadow -> Red, disable when no EntitySettings
  • AutoControl
  • Some fixes in EntityCombo
  • ValueLine format and ValueLineTypes reduction
  • Description in Enum ValueLines
  • DataBorder AutoChild using EntitySettings

MarkupExtensions and Converters

  • Better design time support for LocExtensions
  • New Lazy Markup Extension for Lazy types
  • Some cleaning in Converters

Server

  • New Server.Service and Server.Implements
  • RetrieveLazyThin RetrieveLazyFat

Windows

  • New Toolbar
  • ToolBar buttons
  • NormalToolBar -> ButtonBar
  • ButtonBar fixes
  • AdminWindows
  • AllowCorruption en NormalWindow.Save
  • EntitySettings Collectionview
  • EntityChangedEvent
  • NormalWindow margin
  • ErrorSummary with ShyPanel
  • Scroll in NormalWindow
  • HasChanges, AssertErrors and LooseChangesIfAny from NormalWindow to Common
  • AutoCompleteTextBox up/down
  • AdminBase, Common duplicate graph on saving

Search

  • WhiteSmoke background before search in SearchControl
  • SearchControl extension event with EntityType
  • SearchControl column templates infrastructure

Widgets

  • New Widget system
  • Changes GetCustomMenuItems
  • NotesProvider --> NotesWidget
  • ExpandedCollapse event in WidgetPanel
  • Small bugs in LinksWidget and NotesWidget
  • Easy Start for NotesWidget, LinksWidget
  • NotesWidget.Start -> Notes.Start

Navigator

  • NavigatorManager starting up changes
  • ViewButtons (OkCancelSaving remove, SaveClose -> Save)
  • View -> (View, Navigate)
  • Find -> (Find, FindUnique, FindMany, Explore)
  • QuickLinks
  • Strict TypeContext para Embedded

  • Changes in EntitySetting(EntityType in, GetIcon to navigator)
  • Changes in QuerySettings (Title out, Icon in)

Fluent

Signum.Windows.Fluent
  • Sync.InvokeAction
  • Child & Children
  • Bind
  • Set
  • NotSet

Others

  • MenuManager
  • ShortcutHelper
  • Constructor GeneralConstructor

Signum.Web

Signum.Utilities

Extensions

  • DictionaryExtensions (TryGetC/S returns null even when the dictionary is null)
  • EnumerableExtensions
    • Single overload with different messages for zero and many.
    • SingleOrMany and Only
    • JoinStrict
    • ForeEach removed
    • Comma, CommaAnd and CommaOr
    • MinMaxPair returns Interval.
  • Extensions (NotFoundToNull and TryToString added)
  • StringExtensions (RemoveDiacritics, EtcLines, NiceName, Combine and ContinuesWith added)
  • ArrayExtensions (New Overloads in ToArray)
  • ReflectionExtensions (MemberInfo -> ICustomAttributeProvider, IsReadOnly added and bug fixes)
  • DateTimeExtensions (IsInInterval Linq enabled, nice ToString for DateSpan)
  • CSV (Small implementation changes)
  • GroupExtensions (Overloadings using IQuerable removed for simplicity)
  • JsonExtensions

DataStructures


Synchronization


ExpressionTrees


Signum.Test

  • Unit test for linq provider
  • UnitTest for Distinct, Fixes in ternary operators MakeValue)



Creative Commons License Signum Framework Site by Signum Software is licensed under a Creative Commons Attribution 3.0 License.
Powered by ScrewTurn Wiki version 3.0.5.600.