Search Results

Search found 12091 results on 484 pages for 'accessibility api'.

Page 204/484 | < Previous Page | 200 201 202 203 204 205 206 207 208 209 210 211  | Next Page >

  • Prevent service from starting

    - by Evan Plaice
    So, I do Arduino development on my system to program arduinos using the FTDI USB programming interface (if you have no idea what this means don't worry). The issue arises because the FTDI interface uses tty to communicate and it conflicts with one of the default ubuntu services. The default service in question is called brltty (which enables braille accessibility for people with impaired vision). Considering that I don't have any particular use for this service and it's annoying to stop it manually (using 'service brltty stop') after I restart my system... Where would I configure this (or any) service to prevent it from loading on startup? Note: I also have this issue with qemu-kvm conflicting with virtualbox.

    Read the article

  • Exam 70-518 Pro: Designing and Developing Windows Applications Using Microsoft .NET Framework 4

    - by Raghuraman Kanchi
    Today I noticed some topics from questions in the beta exam 70-518 which stumped me. I am just mentioning the topics below for future understanding and reference. This exam made me feel as if I was attempting questions about .NET 4.0 Framework. 1. Content-based vs. context-based filtered routing – Deciding the nearest Geographical Database. 2. Choosing an appropriate strategy for communicating with COM components, mainframe services 3. Microsoft Sync Framework 4. PLINQ 5. Difference between Dispatcher.BeginInvoke and Dispatcher.Invoke 6. Accessibility Testing/Scalability Testing (This objective may include but is not limited to: recommending functional testing, recommending reliability testing (performance testing, stress testing, scalability testing, duration testing)) 7. profiling, tracing, performance counters, audit trails 8. local vs. centralized reporting

    Read the article

  • Does iframe affect SEO of its parent page?

    - by Xu Jiawan
    I would like to know that, does iframe affect the SEO of its parent page (the page contains iframe)? I've done some searching, such as Do we still need to avoid using frame/iframe for good SEO? and Using iFrame: SEO and Accessibility Points, which tell me that: The content in an iframe is not considered part of the parent page. The page within an iframe may be spidered and indexed (or it may be not) but no PR is definitely passed. But these are the content in the iframe, what about the parent page? Does the PageRank of the parent page will decrease because the iframe? Or maybe Googlebot wouldn't crawl the parent page? Or is the parent page not affected at all?

    Read the article

  • Bunny Inc. Season 2: Optimize Your Enterprise Content

    - by kellsey.ruppel
    In a business environment largely driven by informal exchanges, digital assets and peer-to-peer interactions, turning unstructured content into an enterprise-wide resource is the key to gain organizational agility and reduce IT costs. To get their work done, business users demand a unified, consolidated and secure repository to manage the entire life cycle of content and deliver it in the proper format.At Hare Inc., finding information turns to be a daunting and error-prone task. On the contrary, at Bunny Inc., Mr. CIO knows the secret to reach the right carrot! Have a look at the third episode of the Social Bunnies Season 2 to discover how to reduce resource bottlenecks, maximize content accessibility and mitigate risk.

    Read the article

  • ASP.NET Pager Supports Keyboard Navigation - v2010 vol 1

    Here’s a feature for all your users who are keyboard ninjas. The ASPxPager control now provides better keyboard support - increasing both web site usability and accessibility. If you are using a DevExpress ASP.NET Pager control - either standalone or integrated into our data-aware controls like the ASPxGridView – then you can now navigate to the previous/next page by pressing the CTRL+ARROW key combinations. To see a standalone version of our ASP.NET Pager, check out this slick movie-theme...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • GPS feature big on mobile phones, oh yeah, they can make voice calls and text too

    - by hinkmond
    Here's a Web article stating the oh-so-obvious: One of the most useful things a cell phone can do is give you GPS location. See: Cell Phones Give Location Here's a quote: Now, majority of GPS receivers are built into mobile phones, with varying degrees of coverage and user accessibility. Commercial navigation software is available for most 21st century smartphones as well as some Java-enabled phones that allows them to use an internal or external GPS receiver. Wow. That's really big news. (face palm) Next thing we know, the Web site at stating-the-obvious.com, is going to tell us that the Internets will bring us news, sports, and entertainment right to our fingertips. Hinkmond

    Read the article

  • Hyperion Smart View Assistance

    - by p.anda
    (in via Akhter) Seeking more information or assistance with Hyperion Smart View?  The Oracle Technology Network (OTN) is a great first place to "stop-by".  Here the site provides access to the latest installer, general product documentation as well as Whitepapers, "Whats New" and "Oracle by Example" tutorials: OTN: Overview | Downloads | Documentation | Tutorials  For the latest documentation including Readme, New Features, User's Guide, Developer's Guide and Accessibility Guide visit: Oracle Hyperion Smart View for Office Documentation Release 11.1.2.5 Several "My Oracle Support" Knowledge (KM) Articles are available including: OBIEE 11.1.1.7 - New Features And Recommendations For Working With Microsoft Office [ Doc ID 1558070.1]- How to Integrate OBIEE with Microsoft Office Using Oracle Hyperion Smart View For Office [ Doc ID 1576336.1] - How To Create New Report From Scratch Within Excel Using Smart View [ Doc ID 1576596.1] These along with additional KM articles are being indexed in a Master Note - to keep up to-date with new articles bookmark this index page at: Master Note For Oracle Hyperion Smart View For Office Issues in OBIEE Doc ID 1589028.1

    Read the article

  • Is nesting types considered bad practice?

    - by Rob Z
    As noted by the title, is nesting types (e.g. enumerated types or structures in a class) considered bad practice or not? When you run Code Analysis in Visual Studio it returns the following message which implies it is: Warning 34 CA1034 : Microsoft.Design : Do not nest type 'ClassName.StructueName'. Alternatively, change its accessibility so that it is not externally visible. However, when I follow the recommendation of the Code Analysis I find that there tend to be a lot of structures and enumerated types floating around in the application that might only apply to a single class or would only be used with that class. As such, would it be appropriate to nest the type sin that case, or is there a better way of doing it?

    Read the article

  • Application Migration: Windows/VB6 Apps to ASP.NET HTML5

    - by Webgui
    I would like to invite you to a fascinating webinar on extending applications to HTML5 and Mobile that we are doing in collaboration with Jeffrey S. Hammond, Principal Analyst serving Application Development & Delivery Professionals at Forrester Research.The webinar is free and it will will introduce the substantial changes brought on by the move to Web Applications and Open Web architectures, and the challenges it places on application development shops. We’ll also introduce how we at Gizmox are helping client navigate this mobile shift and evolve existing Windows applications with a new set of Transposition tools called Instant CloudMove. We will discuss the alternatives in the market to evolve your existing applications and focus on our transposition tools that reduce migration risk, minimize costs, and accelerate your time to market. So if you have locally installed Windows, VB6 or ASP applications that you are looking to enable as SaaS, offer over private or public Cloud platforms or allow end users with mobile accessibility then you shouldn't miss this webinar. Extending Windows Applications to HTML5 and Mobile Has Never Been Easier Tuesday, April 24, 2012 1:00 PM - 2:00 PM EST Free registration:http://www.visualwebgui.com/Gizmox/Landing/tabid/674/articleType/ArticleView/articleId/987/Extending-Windows-Applications-to-HTML5-and-Mobile-Has-Never-Been-Easier.aspx

    Read the article

  • New MyOracleSupport (MOS)Interface Coming 13 July 2012

    - by user793553
    On July 13, 2012, we plan to upgrade the My Oracle Support HTML-based user interface (UI) with additional functionality that will allow those users remaining on the Flash-based user interface to switch over to the HTML version. Our goal is to provide a single-online support portal so that all My Oracle Support users can benefit from the same features and functionality. Prior to July 13, 2012, users of Oracle On Demand, Oracle CRM On Demand, Taleo, and Oracle Configuration Manager should continue accessing the My Oracle Support Flash-based user interface. After July 13, 2012, the above features and functionality to support these users will be available on the HTML interface. All other users of My Oracle Support can make the switch now. Benefits of using the HTML-based user interface include: Streamlined, three-step process for initiating new Service Requests (SRs) Single, consistent workflow for both hardware and software incidents Enhanced personalization and filtering within the user interface New accessibility features (enabling screen readers, large fonts, etc.) Additionally, please note Internet Explorer 6 (IE6) will no longer be supported. For further information, please check Doc ID 1385682.1

    Read the article

  • Ubuntu 12.04 graphics crashing when GVIM opens TEX files

    - by Pdp Molniya
    I am having a little problem everytime I open GVIM to edit *.TEX files.... the menus die, windows jiggle (maximize and minimize quickly) and I get a 'internal error ' crash report from ubuntu (12.04). It says the problem is at /usr/lib/unity/unity-panel-service. Any tips on how to solve this? It might be related to the Latex package of vim (also I get this message when I open gvim (with or without TEX files) on terminal: (gvim:5915): Gnome-WARNING **: Accessibility: failed to find module 'libgail-gnome' which is needed to make this application accessible (gvim:5915): GLib-GObject-WARNING **: cannot retrieve class for invalid (unclassed) type `' Issue is independant of theme I just checked... Thanks a lot for your help! Cheers, Pedro

    Read the article

  • PeopleTools Collateral Available

    - by Matthew Haavisto
    We've posted a lot of documentation including presentations, white/red papers, data sheets, and other useful collateral on Oracle.com, a public site.  If you are seeking detailed information on a particular topic, this is a good place to start.  It's a bit hard to find so I'm posting it here. This resource library contains collateral on general PeopleTools, user experience and interaction--including the PeopleSoft Interaction Hub, platforms, security, life-cycle management, reporting and analytics, integration, and accessibility.  There are also links to video feature overviews, viewlets, and appcasts, and the latest release information. There is much valuable information here, so if you need information about PeopleTools and related information, start here.

    Read the article

  • Is it save to configure "Shutdown" on "When laptop lid is closed" ?

    - by Takkat
    To setup a laptop owned by a complete PC novice any settings that may become hard to tackle remotely need to be avoided. The laptop will be administrated via SSH. One thing in my list are problems arising from improper wake-ups from suspend or hibernate as they may also affect network accessibility. This is why I thought setting up power management to "shutdown" on closing the laptop lid could be a good idea. However I am not sure if this is a safe way to do. What problems in addition to software not closing properly (and thus not saving their data) could I be faced if I proceeded as planned?

    Read the article

  • Some applications (Anki, Okular, Calibre) start very slowly

    - by k1U
    When I start one of the applications mentioned in the title from the terminal, I get this: Registered DEC: true Error in contacting registry "org.freedesktop.DBus.Error.NoReply" "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken." Could not query active accessibility event listeners. Registered event listener change listener: true Currently I am running 12.04 This problem started a couple of days ago, shortly after I've installed okular from within the software center. by "slow" I mean it takes about 30 seconds. Other applications like chromium start instantly.

    Read the article

  • PeopleTools 8.54 Pre-Release Notes Available

    - by Matthew Haavisto
    PeopleSoft's PeopleTools recently published pre-release notes for PeopleTools 8.54.  Pre-release notes provide more functional and technical details than the release value proposition. This document describes how enhancements function within the context of the greater business process. This added level of detail should enable project teams to answer the following questions: What delivered functionality will change? How will an upgrade or new implementation affect other systems? How will these changes affect the organization? After the project team has reviewed and analyzed the pre-release notes, business decision makers should be able to determine whether to allocate budget and initiate implementation plans. This document covers the following subjects: Platform support enhancements Development tools enhancements System administration tools enhancements Reporting and analytic tools enhancements Integration tools enhancements Lifecycle management tools enhancements Accessibility PeopleSoft Interaction Hub enhancements.

    Read the article

  • Why is better to use external JavaScript or libraries ; and is it prefered to use jquery meaning more security?

    - by shareef
    I read this article Unobtrusive JavaScript with jQuery and I noticed these points in the slide page 11 some companies strip JavaScript at the firewall some run the NoScript Firefox extension to protect themselves from common XSS and CSRF attacks many mobile devices ignore JavaScript entirely screen readers do execute JavaScript but accessibility issues mean you may not want them to I did not understand the fourth point. What does it mean? I need your comment and responses on these points. Is not using JavaScript and switching to libraries like jQuery worth it? UPDATE 1 : whats the meaning of Unobtrusive JavaScript with jQuery ? and yes it does not say we should use libraries but we should have them on external files for that reason i asked my question.

    Read the article

  • Is it safe to configure "Shutdown" on "When laptop lid is closed" ?

    - by Takkat
    To setup a laptop owned by a complete PC novice any settings that may become hard to tackle remotely need to be avoided. The laptop will be administrated via SSH. One thing in my list are problems arising from improper wake-ups from suspend or hibernate as they may also affect network accessibility. This is why I thought setting up power management to "shutdown" on closing the laptop lid could be a good idea. However I am not sure if this is a safe way to do. What problems in addition to software not closing properly (and thus not saving their data) could I be faced if I proceeded as planned?

    Read the article

  • Setting up a GUI-based libvirt VM

    - by LibertasMens
    I am attempting to create a virtual machine using libvirt that will have a GNOME GUI and remote accessibility. I have successfully set up the VM to run, but I am unable to access it remotely. The command issued to build the VM: sudo vmbuilder kvm ubuntu --suite=precise --flavour=generic --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --part=/usr/xxxx/vmbuilder.partition --templates=/usr/xxxx/mytemplates --addpkg=nano --addpkg=unattended-upgrades --addpkg=acpid --firstboot=/usr/xxxx/boot.sh --cpus=2 --mem=4096--user=xxxx --name=xxxx --pass=xxxx --hostname=xxxx --bridge=br0 My intent is to have a virtual machine that my client can remotely access with a GUI.

    Read the article

  • Is it practical to have perfect validation score on HTML?

    - by Truth
    I was in a heated discussion the other day, about whether or not it's practical to have a perfect validation score on any HTML document. By practical I mean: Does not take a ridiculous amount of time compared to it's almost-perfect counterpart. Can be made to look good on older browsers and to be usable on very old browsers. Justifies the effort it may take to do so (does it come with some kind of reward on SEO/Usability/Accessibility that cannot be achieved in a simpler way with almost-perfect validation) So basically, is perfect validation score practical on any HTML document?

    Read the article

  • Is it okay to introduce LESS to not so savvy UI Designers?

    - by Jason Nathan
    I just got a job as lead developer and I thought it would be best to seek the expertise of my peers (that's you) before proceeding! I had the opportunity to review my designers and they are mostly photoshop pros with dreamweaver as their main HTML/CSS editor. A more visual experience. I, on the other hand, have had much experience hand-writing all my code. From HTML markup to CSS. From my understanding, my designers have basic CSS knowledge and I am considering a simple 101 style set of tutorials for them to get a better grasp of markup before I moved into more advanced topics like accessibility and microformat markup. We need to get started up quickly. Do you think it's okay to dive into LESS from the get-go?

    Read the article

  • Implementing Search Contract in Windows 8 application

    - by nmarun
    The Search Contract feature helps improve the accessibility of your application. When a user is trying to search for something through the charms, you see a bunch of apps that get listed below. You see that Store, Howzzat Book and Live Reader apps have implemented this feature. So a user types in some text and clicks on one of these apps and this text is passed to the app where you can show the results of this search directly. Let’s see how to get this implemented. I have created a Blank App named...(read more)

    Read the article

  • How to debug slow session start of Gnome 3?

    - by user65521
    After Upgrade from 11.10 to 12.04, the login process of Gnome 3 is extremely slow (It takes in the order of 60 seconds when it was in the order of a few seconds before the upgrade (Harddisk is a SSD!)). Running "top" in a VT shows that gnome-shell is producing about 90% CPU load while dbus-daemon is taking roughly 10%. The moment when CPU-load of gnome-shell drops to normal levels (around 2-3%) corresponds to the time the login process is terminated and the desktop is displayed. De-activating the four gnome-shell extensions (Alternative Status Menu, Quit Button, Remove Accessibility, system-monitor) that I have installed does not have any effect on session start up time. Login to Gnome classic does not show the slow session start. The system logs do not show anything suspicious. Thus, what is the best way to identify the underlying problem?

    Read the article

  • No video signal after install

    - by tW4r
    Today I tried to install Ubuntu 12.10 to my machine, but all the time I encountered the same problem, I successfully boot from Ubuntu 12.04 DVD, and a purple background comes up with accessibility and keyboard icons at the bottom of the screen, then when you wait a while a monitor text comes up "No signal" (Keep in mind that this signal is only shown when there's cable in the monitor HDMI plug), and nothing happens, a little later disk drive stops flashing meaning that disk finished being read. Even if you reset the computer you still get no signal, you have to turn the power of and on again, and plug HDMI out and put it in again. My info: Graphics card: ATI/AMD Radeon HD 4850 Connection to monitor: HDMI Monitor: Samsung SyncMaster T220HD

    Read the article

  • Cisco Prime NCS not starting

    - by Kwazii
    I have received the Cisco Prime OVA file and which we placed onto an Oracle virtual environment. We turn the VM on and the CLI boots, When we try to start the NCS service we get errors. HOSTNAME/USER# ncs start Starting Network Control System... Exception in thread "main" java.lang.NullPointerException at com.cisco.wnbu.udi.impl.UDIManager.isPhysicalAppliance(UDIManager.java:184) at com.cisco.packaging.WCSAdmin.start(WCSAdmin.java:335) at com.cisco.packaging.WCSAdmin.runMain(WCSAdmin.java:281) at com.cisco.packaging.WCSAdmin.main(WCSAdmin.java:901) Logs HOSTNAME/USER# show logging 07/18/13 10:25:38.878 INFO [system] [main] Setting management interface address to 192.168.0.10 07/18/13 10:25:38.884 INFO [system] [main] Setting peer server interface address to 192.168.0.10 07/18/13 10:25:38.884 INFO [system] [main] Setting client interface address to 192.168.0.10 07/18/13 10:25:38.884 INFO [system] [main] Setting local host name to HOSTNAME 07/18/13 10:25:40.341 ERROR [system] [main] THROW java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:228) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at com.cisco.server.persistence.util.OracleSchemaUtil.openConnection(OracleSchemaUtil.java:277) at com.cisco.server.persistence.util.OracleSchemaUtil.dbServerUp(OracleSchemaUtil.java:836) at com.cisco.packaging.DBAdmin.dbServerUp(DBAdmin.java:1429) at com.cisco.packaging.WCSAdmin.status(WCSAdmin.java:833) at com.cisco.packaging.WCSAdmin.status(WCSAdmin.java:757) at com.cisco.packaging.WCSAdmin.wcsServerUp(WCSAdmin.java:637) at com.cisco.packaging.WCSAdmin.start(WCSAdmin.java:294) at com.cisco.packaging.WCSAdmin.runMain(WCSAdmin.java:281) at com.cisco.packaging.WCSAdmin.main(WCSAdmin.java:901) Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:375) at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:422) at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:678) at oracle.net.ns.NSProtocol.connect(NSProtocol.java:238) at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1054) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:308) ... 15 more Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:209) at oracle.net.nt.ConnOption.connect(ConnOption.java:123) at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:353) ... 20 more 07/18/13 10:25:40.347 INFO [admin] [main] 07/18/13 10:25:40.347 INFO [admin] [main] Starting Network Control System... 07/18/13 10:25:40.347 INFO [admin] [main] 07/18/13 10:25:40.394 ERROR [admin] [main] Problem using CARS API: com.cisco.cars.fnd.CARSException: CARS_FAILURE : -999 : Failed to get UDI configuration. : Failure occurred during request at com.cisco.cars.fnd.CARSException.analyzeReturnCode(CARSException.java:118) at com.cisco.cars.serviceEngine.impl.EngineAdminServiceImpl.getUDI(EngineAdminServiceImpl.java:66) at com.cisco.wnbu.udi.impl.UDIManager.generateUDI(UDIManager.java:69) at com.cisco.wnbu.udi.impl.UDIManager.setPersistenceDirectory(UDIManager.java:139) at com.cisco.packaging.WCSAdmin.start(WCSAdmin.java:332) at com.cisco.packaging.WCSAdmin.runMain(WCSAdmin.java:281) at com.cisco.packaging.WCSAdmin.main(WCSAdmin.java:901) 07/18/13 10:25:40.396 ERROR [admin] [main] Problem using CARS API: com.cisco.cars.fnd.CARSException: CARS_FAILURE : -999 : Failed to get UDI configuration. : Failure occurred during request at com.cisco.cars.fnd.CARSException.analyzeReturnCode(CARSException.java:118) at com.cisco.cars.serviceEngine.impl.EngineAdminServiceImpl.getUDI(EngineAdminServiceImpl.java:66) at com.cisco.wnbu.udi.impl.UDIManager.generateUDI(UDIManager.java:69) at com.cisco.wnbu.udi.impl.UDIManager.setVirtualPID(UDIManager.java:169) at com.cisco.packaging.WCSAdmin.start(WCSAdmin.java:333) at com.cisco.packaging.WCSAdmin.runMain(WCSAdmin.java:281) at com.cisco.packaging.WCSAdmin.main(WCSAdmin.java:901) 07/18/13 10:25:40.397 ERROR [admin] [main] Problem using CARS API: com.cisco.cars.fnd.CARSException: CARS_FAILURE : -999 : Failed to get UDI configuration. : Failure occurred during request at com.cisco.cars.fnd.CARSException.analyzeReturnCode(CARSException.java:118) at com.cisco.cars.serviceEngine.impl.EngineAdminServiceImpl.getUDI(EngineAdminServiceImpl.java:66) at com.cisco.wnbu.udi.impl.UDIManager.generateUDI(UDIManager.java:69) at com.cisco.wnbu.udi.impl.UDIManager.setPhysicalPID(UDIManager.java:154) at com.cisco.packaging.WCSAdmin.start(WCSAdmin.java:334) at com.cisco.packaging.WCSAdmin.runMain(WCSAdmin.java:281) at com.cisco.packaging.WCSAdmin.main(WCSAdmin.java:901) 07/18/13 10:25:40.397 ERROR [admin] [main] Problem using CARS API: com.cisco.cars.fnd.CARSException: CARS_FAILURE : -999 : Failed to get UDI configuration. : Failure occurred during request at com.cisco.cars.fnd.CARSException.analyzeReturnCode(CARSException.java:118) at com.cisco.cars.serviceEngine.impl.EngineAdminServiceImpl.getUDI(EngineAdminServiceImpl.java:66) at com.cisco.wnbu.udi.impl.UDIManager.generateUDI(UDIManager.java:69) at com.cisco.wnbu.udi.impl.UDIManager.getUDI(UDIManager.java:112) at com.cisco.wnbu.udi.impl.UDIManager.isPhysicalAppliance(UDIManager.java:184) at com.cisco.packaging.WCSAdmin.start(WCSAdmin.java:335) at com.cisco.packaging.WCSAdmin.runMain(WCSAdmin.java:281) at com.cisco.packaging.WCSAdmin.main(WCSAdmin.java:901) Any help is appreciated, Thanks

    Read the article

  • Differences Between NHibernate and Entity Framework

    - by Ricardo Peres
    Introduction NHibernate and Entity Framework are two of the most popular O/RM frameworks on the .NET world. Although they share some functionality, there are some aspects on which they are quite different. This post will describe this differences and will hopefully help you get started with the one you know less. Mind you, this is a personal selection of features to compare, it is by no way an exhaustive list. History First, a bit of history. NHibernate is an open-source project that was first ported from Java’s venerable Hibernate framework, one of the first O/RM frameworks, but nowadays it is not tied to it, for example, it has .NET specific features, and has evolved in different ways from those of its Java counterpart. Current version is 3.3, with 3.4 on the horizon. It currently targets .NET 3.5, but can be used as well in .NET 4, it only makes no use of any of its specific functionality. You can find its home page at NHForge. Entity Framework 1 came out with .NET 3.5 and is now on its second major version, despite being version 4. Code First sits on top of it and but came separately and will also continue to be released out of line with major .NET distributions. It is currently on version 4.3.1 and version 5 will be released together with .NET Framework 4.5. All versions will target the current version of .NET, at the time of their release. Its home location is located at MSDN. Architecture In NHibernate, there is a separation between the Unit of Work and the configuration and model instances. You start off by creating a Configuration object, where you specify all global NHibernate settings such as the database and dialect to use, the batch sizes, the mappings, etc, then you build an ISessionFactory from it. The ISessionFactory holds model and metadata that is tied to a particular database and to the settings that came from the Configuration object, and, there will typically be only one instance of each in a process. Finally, you create instances of ISession from the ISessionFactory, which is the NHibernate representation of the Unit of Work and Identity Map. This is a lightweight object, it basically opens and closes a database connection as required and keeps track of the entities associated with it. ISession objects are cheap to create and dispose, because all of the model complexity is stored in the ISessionFactory and Configuration objects. As for Entity Framework, the ObjectContext/DbContext holds the configuration, model and acts as the Unit of Work, holding references to all of the known entity instances. This class is therefore not lightweight as its NHibernate counterpart and it is not uncommon to see examples where an instance is cached on a field. Mappings Both NHibernate and Entity Framework (Code First) support the use of POCOs to represent entities, no base classes are required (or even possible, in the case of NHibernate). As for mapping to and from the database, NHibernate supports three types of mappings: XML-based, which have the advantage of not tying the entity classes to a particular O/RM; the XML files can be deployed as files on the file system or as embedded resources in an assembly; Attribute-based, for keeping both the entities and database details on the same place at the expense of polluting the entity classes with NHibernate-specific attributes; Strongly-typed code-based, which allows dynamic creation of the model and strongly typing it, so that if, for example, a property name changes, the mapping will also be updated. Entity Framework can use: Attribute-based (although attributes cannot express all of the available possibilities – for example, cascading); Strongly-typed code mappings. Database Support With NHibernate you can use mostly any database you want, including: SQL Server; SQL Server Compact; SQL Server Azure; Oracle; DB2; PostgreSQL; MySQL; Sybase Adaptive Server/SQL Anywhere; Firebird; SQLLite; Informix; Any through OLE DB; Any through ODBC. Out of the box, Entity Framework only supports SQL Server, but a number of providers exist, both free and commercial, for some of the most used databases, such as Oracle and MySQL. See a list here. Inheritance Strategies Both NHibernate and Entity Framework support the three canonical inheritance strategies: Table Per Type Hierarchy (Single Table Inheritance), Table Per Type (Class Table Inheritance) and Table Per Concrete Type (Concrete Table Inheritance). Associations Regarding associations, both support one to one, one to many and many to many. However, NHibernate offers far more collection types: Bags of entities or values: unordered, possibly with duplicates; Lists of entities or values: ordered, indexed by a number column; Maps of entities or values: indexed by either an entity or any value; Sets of entities or values: unordered, no duplicates; Arrays of entities or values: indexed, immutable. Querying NHibernate exposes several querying APIs: LINQ is probably the most used nowadays, and really does not need to be introduced; Hibernate Query Language (HQL) is a database-agnostic, object-oriented SQL-alike language that exists since NHibernate’s creation and still offers the most advanced querying possibilities; well suited for dynamic queries, even if using string concatenation; Criteria API is an implementation of the Query Object pattern where you create a semi-abstract conceptual representation of the query you wish to execute by means of a class model; also a good choice for dynamic querying; Query Over offers a similar API to Criteria, but using strongly-typed LINQ expressions instead of strings; for this, although more refactor-friendlier that Criteria, it is also less suited for dynamic queries; SQL, including stored procedures, can also be used; Integration with Lucene.NET indexer is available. As for Entity Framework: LINQ to Entities is fully supported, and its implementation is considered very complete; it is the API of choice for most developers; Entity-SQL, HQL’s counterpart, is also an object-oriented, database-independent querying language that can be used for dynamic queries; SQL, of course, is also supported. Caching Both NHibernate and Entity Framework, of course, feature first-level cache. NHibernate also supports a second-level cache, that can be used among multiple ISessionFactorys, even in different processes/machines: Hashtable (in-memory); SysCache (uses ASP.NET as the cache provider); SysCache2 (same as above but with support for SQL Server SQL Dependencies); Prevalence; SharedCache; Memcached; Redis; NCache; Appfabric Caching. Out of the box, Entity Framework does not have any second-level cache mechanism, however, there are some public samples that show how we can add this. ID Generators NHibernate supports different ID generation strategies, coming from the database and otherwise: Identity (for SQL Server, MySQL, and databases who support identity columns); Sequence (for Oracle, PostgreSQL, and others who support sequences); Trigger-based; HiLo; Sequence HiLo (for databases that support sequences); Several GUID flavors, both in GUID as well as in string format; Increment (for single-user uses); Assigned (must know what you’re doing); Sequence-style (either uses an actual sequence or a single-column table); Table of ids; Pooled (similar to HiLo but stores high values in a table); Native (uses whatever mechanism the current database supports, identity or sequence). Entity Framework only supports: Identity generation; GUIDs; Assigned values. Properties NHibernate supports properties of entity types (one to one or many to one), collections (one to many or many to many) as well as scalars and enumerations. It offers a mechanism for having complex property types generated from the database, which even include support for querying. It also supports properties originated from SQL formulas. Entity Framework only supports scalars, entity types and collections. Enumerations support will come in the next version. Events and Interception NHibernate has a very rich event model, that exposes more than 20 events, either for synchronous pre-execution or asynchronous post-execution, including: Pre/Post-Load; Pre/Post-Delete; Pre/Post-Insert; Pre/Post-Update; Pre/Post-Flush. It also features interception of class instancing and SQL generation. As for Entity Framework, only two events exist: ObjectMaterialized (after loading an entity from the database); SavingChanges (before saving changes, which include deleting, inserting and updating). Tracking Changes For NHibernate as well as Entity Framework, all changes are tracked by their respective Unit of Work implementation. Entities can be attached and detached to it, Entity Framework does, however, also support self-tracking entities. Optimistic Concurrency Control NHibernate supports all of the imaginable scenarios: SQL Server’s ROWVERSION; Oracle’s ORA_ROWSCN; A column containing date and time; A column containing a version number; All/dirty columns comparison. Entity Framework is more focused on Entity Framework, so it only supports: SQL Server’s ROWVERSION; Comparing all/some columns. Batching NHibernate has full support for insertion batching, but only if the ID generator in use is not database-based (for example, it cannot be used with Identity), whereas Entity Framework has no batching at all. Cascading Both support cascading for collections and associations: when an entity is deleted, their conceptual children are also deleted. NHibernate also offers the possibility to set the foreign key column on children to NULL instead of removing them. Flushing Changes NHibernate’s ISession has a FlushMode property that can have the following values: Auto: changes are sent to the database when necessary, for example, if there are dirty instances of an entity type, and a query is performed against this entity type, or if the ISession is being disposed; Commit: changes are sent when committing the current transaction; Never: changes are only sent when explicitly calling Flush(). As for Entity Framework, changes have to be explicitly sent through a call to AcceptAllChanges()/SaveChanges(). Lazy Loading NHibernate supports lazy loading for Associated entities (one to one, many to one); Collections (one to many, many to many); Scalar properties (thing of BLOBs or CLOBs). Entity Framework only supports lazy loading for: Associated entities; Collections. Generating and Updating the Database Both NHibernate and Entity Framework Code First (with the Migrations API) allow creating the database model from the mapping and updating it if the mapping changes. Extensibility As you can guess, NHibernate is far more extensible than Entity Framework. Basically, everything can be extended, from ID generation, to LINQ to SQL transformation, HQL native SQL support, custom column types, custom association collections, SQL generation, supported databases, etc. With Entity Framework your options are more limited, at least, because practically no information exists as to what can be extended/changed. It features a provider model that can be extended to support any database. Integration With Other Microsoft APIs and Tools When it comes to integration with Microsoft technologies, it will come as no surprise that Entity Framework offers the best support. For example, the following technologies are fully supported: ASP.NET (through the EntityDataSource); ASP.NET Dynamic Data; WCF Data Services; WCF RIA Services; Visual Studio (through the integrated designer). Documentation This is another point where Entity Framework is superior: NHibernate lacks, for starters, an up to date API reference synchronized with its current version. It does have a community mailing list, blogs and wikis, although not much used. Entity Framework has a number of resources on MSDN and, of course, several forums and discussion groups exist. Conclusion Like I said, this is a personal list. I may come as a surprise to some that Entity Framework is so behind NHibernate in so many aspects, but it is true that NHibernate is much older and, due to its open-source nature, is not tied to product-specific timeframes and can thus evolve much more rapidly. I do like both, and I chose whichever is best for the job I have at hands. I am looking forward to the changes in EF5 which will add significant value to an already interesting product. So, what do you think? Did I forget anything important or is there anything else worth talking about? Looking forward for your comments!

    Read the article

< Previous Page | 200 201 202 203 204 205 206 207 208 209 210 211  | Next Page >