Search Results

Search found 47971 results on 1919 pages for 'change control'.

Page 939/1919 | < Previous Page | 935 936 937 938 939 940 941 942 943 944 945 946  | Next Page >

  • Creating a new Active Directory account with an InfoPath form

    - by ryan
    I am setting up a business partner portal in our Sharepoint server. There will be an AD group with permissions limited to viewing and possibly contributing to the specific business partner site and employees of our business partners will have accounts created for them as needed. Now we would like to let our business development group(BDG) have control over the partner accounts. Ideally they should be able to add and delete accounts and change permissions on them. The BDG are not domain admins so we don't want to give them access to the domain controller. We want to create an Infopath form that will allow them to do all this. Is it possible to create and manage AD accounts from within an Infopath form on the sharepoint server? I searched this site and MSDN and can not find anything specifically related to my question.

    Read the article

  • Problem with SVN filename encoding on Mac OS X

    - by Albert
    I have some filename with some Unicode character in it. All filenames on Mac OS X are UTF8 encoded. Also $LANG is set to en_US.UTF-8. However, it seems svn has some problems with that: az@ip212 1054 (Integration) %ls Abbildungen Verbesserungsvorschläge_Applets.odt AllgemeineAnmerkungen.rtf Verbesserungsvorschläge_Applets.rtf Geogebra Vorlagen Texte az@ip212 1055 (Integration) %svn ls Abbildungen/ AllgemeineAnmerkungen.rtf Geogebra/ Texte/ Verbesserungsvorschläge_Applets.rtf Verbesserungsvorschläge_Applets.odt Vorlagen/ az@ip212 1056 (Integration) %svn del Verb*.odt svn: Use --force to override this restriction svn: 'Verbesserungsvorschläge_Applets.odt' is not under version control az@ip212 1057 (Integration) %svn status ? Verbesserungsvorschläge_Applets.odt ! Verbesserungsvorschläge_Applets.odt az@ip212 1058 (Integration) % As you can see, svn del does not recognize the filename. And even svn status gets confused about it. How can I fix this? I also tried with LC_CTYPE=$LANG LC_ALL=$LANG LC=$LANG but no change.

    Read the article

  • Simple multi-seat

    - by Oli
    I've asked about multiseat before. The answer (for 10.04) involved doing it the proper way (eg through gdm, multiple server layouts). The problem was that gdm needs to be patched or reverted to 2.20 for multiseat. It's an ugly hack that, worse than anything, will hold up future updates. As a result, I didn't do anything. I still have a spare video card. I still have the monitor, keyboard and mouse all sitting waiting to jump into action. And I still want to be able to turn that into a simple desktop. My needs don't seem complicated. I have a second video card, a USB hub and anything connected to that USB hub that I want to be dedicated to another X server. I don't need a login screen (I'm happy hard-coding in a auto-login and I'd be happy with the user starting the X server if that's possible). This is so simple in my head that I only need two questions: How can I explicitly start an X server from the command line on an unused video adapter (by passing it whatever configuration I need to)? Can I have this new X session load a desktop environment on load? This seems like something you should be able to write in a little upstart script within 10 minutes. That would be perfect for me as then I'd have a nice start/stop control over the secondary desktop from the main desktop (that I want to leave unscathed!) I'm thinking something as simple as this for the payload: su -u other_user -c "startx -- localhost hardware-information" And use .xinitrc to load openbox or something...

    Read the article

  • Avoiding coupling

    - by Seralize
    It is also true that a system may become so coupled, where each class is dependent on other classes that depend on other classes, that it is no longer possible to make a change in one place without having a ripple effect and having to make subsequent changes in many places.[1] This is why using an interface or an abstract class can be valuable in any object-oriented software project. Quote from Wikipedia Starting from scratch I'm starting from scratch with a project that I recently finished because I found the code to be too tightly coupled and hard to refactor, even when using MVC. I will be using MVC on my new project aswell but want to try and avoid the pitfalls this time, hopefully with your help. Project summary My issue is that I really wish to keep the Controller as clean as possible, but it seems like I can't do this. The basic idea of the program is that the user picks wordlists which is sent to the game engine. It will pick random words from the lists until there are none left. Problem at hand My main problem is that the game will have 'modes', and need to check the input in different ways through a method called checkWord(), but exactly where to put this and how to abstract it properly is a challenge to me. I'm new to design patterns, so not sure whether there exist any might fit my problem. My own attempt at abstraction Here is what I've gotten so far after hours of 'refactoring' the design plans, and I know it's long, but it's the best I could do to try and give you an overview (Note: As this is the sketch, anything is subject to change, all help and advice is very welcome. Also note the marked coupling points): Wordlist class Wordlist { // Basic CRUD etc. here! // Other sample methods: public function wordlistCount($user_id) {} // Returns count of how many wordlists a user has public function getAll($user_id) {} // Returns all wordlists of a user } Word class Word { // Basic CRUD etc. here! // Other sample methods: public function wordCount($wordlist_id) {} // Returns count of words in a wordlist public function getAll($wordlist_id) {} // Returns all words from a wordlist public function getWordInfo($word_id) {} // Returns information about a word } Wordpicker class Wordpicker { // The class needs to know which words and wordlists to exclude protected $_used_words = array(); protected $_used_wordlists = array(); // Wordlists to pick words from protected $_wordlists = array(); /* Public Methods */ public function setWordlists($wordlists = array()) {} public function setUsedWords($used_words = array()) {} public function setUsedWordlists($used_wordlists = array()) {} public function getRandomWord() {} // COUPLING POINT! Will most likely need to communicate with both the Wordlist and Word classes /* Protected Methods */ protected function _checkAvailableWordlists() {} // COUPLING POINT! Might need to check if wordlists are deleted etc. protected function _checkAvailableWords() {} // COUPLING POINT! Method needs to get all words in a wordlist from the Word class } Game class Game { protected $_session_id; // The ID of a game session which gets stored in the database along with game details protected $_game_info = array(); // Game instantiation public function __construct($user_id) { if (! $this->_session_id = $this->_gameExists($user_id)) { // New game } else { // Resume game } } // This is the method I tried to make flexible by using abstract classes etc. // Does it even belong in this class at all? public function checkWord($answer, $native_word, $translation) {} // This method checks the answer against the native word / translation word, depending on game mode public function getGameInfo() {} // Returns information about a game session, or creates it if it does not exist public function deleteSession($session_id) {} // Deletes a game session from the database // Methods dealing with game session information protected function _gameExists($user_id) {} protected function _getProgress($session_id) {} protected function _updateProgress($game_info = array()) {} } The Game /* CONTROLLER */ /* "Guess the word" page */ // User input $game_type = $_POST['game_type']; // Chosen with radio buttons etc. $wordlists = $_POST['wordlists']; // Chosen with checkboxes etc. // Starts a new game or resumes one from the database $game = new Game($_SESSION['user_id']); $game_info = $game->getGameInfo(); // Instantiates a new Wordpicker $wordpicker = new Wordpicker(); $wordpicker->setWordlists((isset($game_info['wordlists'])) ? $game_info['wordlists'] : $wordlists); $wordpicker->setUsedWordlists((isset($game_info['used_wordlists'])) ? $game_info['used_wordlists'] : NULL); $wordpicker->setUsedWords((isset($game_info['used_words'])) ? $game_info['used_words'] : NULL); // Fetches an available word if (! $word_id = $wordpicker->getRandomWord()) { // No more words left - game over! $game->deleteSession($game_info['id']); redirect(); } else { // Presents word details to the user $word = new Word(); $word_info = $word->getWordInfo($word_id); } The Bit to Finish /* CONTROLLER */ /* "Check the answer" page */ // ?????????????????? ( http://pastebin.com/cc6MtLTR ) Make sure you toggle the 'Layout Width' to the right for a better view. Thanks in advance. Questions To which extent should objects be loosely coupled? If object A needs info from object B, how is it supposed to get this without losing too much cohesion? As suggested in the comments, models should hold all business logic. However, as objects should be independent, where to glue them together? Should the model contain some sort of "index" or "client" area which connects the dots? Edit: So basically what I should do for a start is to make a new model which I can more easily call with oneliners such as $model->doAction(); // Lots of code in here which uses classes! How about the method for checking words? Should it be it's own object? I'm not sure where I should put it as it's pretty much part of the 'game'. But on another hand, I could just leave out the 'abstraction and OOPness' and make it a method of the 'client model' which will be encapsulated from the controller anyway. Very unsure about this.

    Read the article

  • "Turn Windows Features on or off" when installing .NET 3.5 SP1?

    - by user1413
    I am trying to install a program on my Win7 machine and it says that I need to have .NET 2.0 or later installed. Since Win7 comes with .NET pre-installed, I called support and they told me to just re-install .NET since my .NET install is probably corrupted. The program I am trying to install is SNGWiz (http://www.sngwiz.com/). I do not think its installer is borked. However, when I install .NET 3.5 SP1 using the download from the Microsoft .NET web site, I get the following error: "You must use 'Turn Windows features on or off' in the Control Panel to install or configure Microsoft .NET Framework 3.5 SP1." I have gone to the Windows Features on/off panel and have turned 3.5 both on and off and have tried to re-install .NET 3.5 SP1 under both situations. But it has failed with the same error. What to do?

    Read the article

  • Samba as a PDC and offline authentication

    - by Aimé Barteaux
    Say I have a Windows laptop which has been connected to a domain. The domain has a Samba server as a PDC. Now say that I move the laptop outside of the network (the network is completely inaccessible). Will I be able to logon into accounts I have accessed before on the laptop (through GINA)? Update: Looking at the smb.comf documentation I noticed the setting winbind offline logon: This parameter is designed to control whether Winbind should allow to login with the pam_winbind module using Cached Credentials. If enabled, winbindd will store user credentials from successful logins encrypted in a local cache.. To me it looks like this solves the issue but can anyone else confirm it and/or point out if any additional values need to be set?

    Read the article

  • Cannot read from 2nd SATA data drive connected via SATA docking station

    - by Robbo
    Installed 10.10 this week on dual boot system. Everything else works fine but cannot read from 2nd SATA drive with all my data. Same drive works normally when booted to Windows XP. Interesting part is that I can see the drive in Ubuntu Disk Manager, can read all its attributes, can test it, shows up in Disk Manager, Storage Device Manager and Mount Manager, and can mount it, even change attributes; it appears healthy but does not show up in "Computer" or anywhere else that it can be accessed. The drive is connected via an external e-SATA docking station which is connected to a SATA port on the motherboard.

    Read the article

  • Installing maven on Ubuntu by manual download

    - by WebDevHobo
    To install Maven, I downloaded the latest version from the website and then followed these steps: http://maven.apache.org/download.html#Installation The last step, the version control, does not work. It says that 'mvn' is currently not installed and that I should type sudo apt-get install maven2 If I go directly to the mvn file itself, it does work: root@ubuntu:~# /usr/local/apache-maven/apache-maven-2.2.1/bin/mvn --version Apache Maven 2.2.1 (r801777; 2009-08-06 12:16:01-0700) Java version: 1.6.0_21 Java home: /usr/java/jdk1.6.0_21/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux" version: "2.6.32-25-generic" arch: "i386" Family: "unix" So, what am I doing wrong here? Or what would and apt-get install do extra that I might have forgotten?

    Read the article

  • Transition to new site

    - by James Hill
    I'm almost finished rewriting the website for a non-profit organization. The existing site receives ~5,000 a month. The new site is being written in ASP.Net and the existing site is PHP. The current hosting provider does not support .Net hosting, so I'll be switching providers. My question revolves around the transition from the old site to the new. I would really like to get the new site up at the new hosting provider and do thorough testing before changing the DNS records for the domain. Question: How can I put the new site up, test it, make any changes/additions necessary before updating the domain DNS to point to the new IP without Google indexing the content? Also, what SEO repercussions should I be aware of when making such a drastic change to the content that exists under the domain name?

    Read the article

  • What programming concept is used in Nokia Lumina City Lens application [closed]

    - by gowri
    I am totally impressed about the Nokia City Lens application. How does the Nokia Lumia City Lens app work? Nokia Lumia City Lens app detects shops, restaurants, etc. by scanning the visual environment. But how can it detect shops or anything by only scanning visual information? Because we need a 360 degree view to detect a location. Because we can't simply match visual information and get that data. The visuals will change proportionally with distance and angle. So how does this app match the location and retrieve the information? Can anyone explain the concept What technology or algorithm is used in this app?

    Read the article

  • Unresponsive virtual OS

    - by confusedGeek
    Hopefully someone has a suggestion on how to resolve this. Configuration Host: Win 2003R2 w/Virtual Server 2005R2 Virtual1: Win 2003R2 w/Sql Server 2005 Virtual2: Win 2003R2 w/WSS 3.0 Situation This past weekend the power went out and took down the servers (no UPS, it's a desktop standing in as dev testing server). Since the servers went down the Virtual2 server after running WSS fairly heavily for an hour to two will become unresponsive via HTTP. If I login via virtual server's remote control I don't get anything beyond a background screen. The CPU counter on the virtual server's master status shows that it isn't doing anything. The only thing I have been able to do is to turn off Virtual2, which loses any state changes. Shutdown commands issue from the virtual server master status are ignored. After restarting Virtual2 the event logs and application logs don't indicate what caused the problem. Anyone have an idea as to how to repair the OS, or maybe what could be the problem? Thanks ahead of time.

    Read the article

  • How to ssh to my dorm computer with shared public IP and no admin rights over the router?

    - by Aamir
    First of all, I am not a Linux or ssh newbie. I have searched for this problem on many forums extensively but nobody seemed to have discussed this. Please help me! I live in a student dorm (off-campus) and all students of the dorm share the same WAN IP (Internet or public IP), which is fortunately static. I am not an admin and have no control over the router that assigns private IP's to all of the students, so I can't really forward port 22 to my computer :( Is it still possible to establish an ssh connection to my dorm computer from a computer on campus?

    Read the article

  • Running a startup program in terminal as sudo

    - by Brandon
    I need to run a python script in a terminal, myscript.py at startup (on Lubunt). This script requires root. I've setup a .desktop file that runs the following command: lxterminal --command="python /home/d/Jarvis/alarm.py && /bin/bash" The terminal window opens at startup and runs the script, but then closes when the Python script returns an error (because it's not being run as root). When I change the Exec= to this... lxterminal --command="sudo python /home/d/Jarvis/alarm.py && /bin/bash" ... (prefixing command with 'sudo') which works. However, the terminal opens on startup and displays the [sudo] password for d: \ prompt, requiring me to input my password. I would like the execution of the python script at startup to be completely automatic with no user interaction. How can I accomplish this?

    Read the article

  • Switching songs - MediaPlayer lags the game

    - by Fibericon
    When the player encounters a boss in the game I'm working on, I want to have the music change. It seems simple enough with the MediaPlayer class to fade out the current song, switch to another, and then fade the new song in. However, at the point where the second song starts, the game freezes for a split second. The songs in question aren't particularly large either - the first song is 1.7mb and the second song is 3.1mb, both mp3 format. This is the code I'm using to do it: protected void switchSong(GameTime gameTime) { if (!bossSongPlaying) { MediaPlayer.Volume -= ((float)gameTime.ElapsedGameTime.TotalSeconds/10); if (MediaPlayer.Volume < 0.05f) { MediaPlayer.Play(bossSong); MediaPlayer.Volume = 1.0f; bossSongPlaying = true; } } } What can I do to eliminate that momentary hang?

    Read the article

  • Cannot use second display with 12.04 and Intel 2000/3000

    - by Carolyn Marenger
    I am unable to get anything to display on my second monitor, or even get the system to recognize that there is a second screen. I am running Ubuntu 12.04 on a Gigabyte GA-H61M-S2PV, revision 2.0 box. The integrated chipset is an Intel 2000/3000, and there are both a D-Dub and a DVI-D display ports on the MB. This is the first operating system I have installed on this system. I have a second monitor plugged into the DVI-D port via a DVI-D to D-Sub adapter. I cannot verify that the motherboard or adapter were/are working, short of installing windows to test the theory. When I go into the "System Settings - Displays" control window, it shows one display. I have rebooted with the second monitor attached, and I have perused the BIOS settings in case it might have been disabled. So far, I have had no indication that the second monitor is recognized, not even a flicker at power on. If I swap monitors and cables between the DVI-D and D-Dub ports, the other monitor lights up, so I know the monitor and video cable are not the issue. Any suggestions would be appreciated. Thanks, Carolyn

    Read the article

  • How do I grant permissions to remotely start/stop a service using Powershell?

    - by splattered bits
    We have a PowerShell script that restarts a service on another computer. When we use PowerShell's built-in service control cmdlets, like so: $svc = Get-Service -Name MyService -ComputerName myservicehostname Stop-Service -InputObject $svc Start-Service -InputObject $svc We get this error back: Stop-Service : Cannot open MyService service on computer 'myservicehostname'. However, when we use sc.exe, like so: C:\Windows\System32\sc \\myservicehostname stop MyService C:\Windows\System32\sc \\myservicehostname start MyService the start and stop succeed. The user doing the restarting is not an administrator. We use subinacl to grant the user permissions to start/stop and query the service: subinacl.exe /service MyService /GRANT=MyServiceControlUser=STO How come PowerShell can't stop my service but sc.exe can?

    Read the article

  • XCP vm created via xl create doesn't show up in Xencenter neither in xe vm-list

    - by user138664
    i am running XCP 1.4.90.530.170661 and i have many PV guests running and created via XenCenter. I have created now an openwrt PV guest via the xl create command but it doesn't show up in Xencenter neither in the vm-list command: xe vm-list uuid ( RO) : 6d29aac1-67ff-f83e-4dbc-894a3b6b9c10 name-label ( RW): slitaz power-state ( RO): running uuid ( RO) : 07d96dd1-8223-cd1c-587d-ae37e48d267b name-label ( RW): xen-centos6 power-state ( RO): running uuid ( RO) : 3164bcf1-e43c-badb-e0cf-5423751fffb9 name-label ( RW): xenwin7 power-state ( RO): running uuid ( RO) : 8a31725e-4bcb-48ac-ba7b-e7c1ba310789 name-label ( RW): Control domain on host: xen-mini power-state ( RO): running xl list Name ID Mem VCPUs State Time(s) Domain-0 0 300 2 r----- 4862.5 xenwin7 2 766 1 -b---- 4933.1 slitaz 10 255 1 -b---- 30.8 xen-centos6 11 767 1 -b---- 46.9 openwrt 12 32 1 -b---- 6.8 are these two different kinds of PV vm? if yes, is there a way to export the "xl create" one as xva/ova and import it to show up like the others? Thanks in advance, /c/

    Read the article

  • Are webhosts that require NS instead of a CNAME common?

    - by billpg
    I've just signed up with a webhost (which I prefer not to name) and I'm reasonably happy with it. The only nit was when I was ready to put a site online and I asked the support line to what name I should point my 'www' CNAME to. They responded that they don't do that and I need to set my domain's NS records for the hosting to work. "Why would you ever want to do it that way? Our service to you includes DNS and our servers are probably much better than the one your registrar provides." This was a bit of surprise as all of the other webhosts I've worked with happily support this. I've set up (eg) gallery.myfriend.example for friends by having them configure their DNS to CNAME 'gallery' to the name of a shared server at a webhost and the webhost does name-based hosting for 'gallery.myfriend.example'. (Of course, if the webhost ever tells me I'm being moved from A.webhost.example to B.webhost.example, it would be my responsibility to change where the CNAME points. Really good webhosts would instead create myname.webhost.example for the IP of whichever server my stuff happens to be on, so I'd never have to worry about keeping my CNAME up to date.) Is my impression correct, that most webhosts will happily support a service that begins with a CNAME hosted elsewhere, or is it really more common that webhosts will only provide a service if they control the DNS service too?

    Read the article

  • How to disable all window borders from the VLC playback window

    - by Rob Thomas
    Is there a way to make the VLC playback window completely borderless (no title bar, no other borders)? Ideally, I would like the playback window to be completely borderless and then a separate window that has the controls (play, pause, timeline control, etc). UPDATES: I cannot use full screen mode, I would like playback window to be sized the same as the video, which is usually about 300x300 px. Also, I need to be able to position the window anywhere on the desktop. I'm using the Windows version of VLC.

    Read the article

  • 12.10 upgrade broke brightness keys [closed]

    - by Chris Morgan
    I have been running Ubuntu (64-bit) on my HP 6710b laptop (Core 2 Duo with integrated graphics) for several years, and the backlight brightness keys have always worked. Since I upgraded to Ubuntu 12.10 earlier today, those keys do not work any more. The secondary function keys: Fn+F3: sleep; still works (and considerably faster than ever before!) Fn+F8: battery info; still works Fn+F9: reduce brightness; stopped working in 12.10 Fn+F10: increase brightness; stopped working in 12.10 It may also be worth while mentioning that X does not appear to be receiving the brightness events at all, or at least not sending them out further. (This I detected with a key logger I wrote for a Uni project, which uses X's Record extension; it is informed of the sleep and battery info keystrokes, but doesn't receive the brightness ones at all.) In the mean time, I know that I can use the Brightness & Lock settings screen to alter the brightness. (Wow! I can suddenly make my backlight darker than I could before—I can go right down to turning the backlight off, something I couldn't do before... but this model has a fairly dim screen, so I don't expect to use that much, if ever.) How can I get the brightness keys working again? This question is probably strongly related to I can't control my Brightness in HP Compaq 6710s.

    Read the article

  • How to tell your boss that he's a bad programmer? [closed]

    - by Doe
    Possible Duplicate: How to tell your boss that his programming style is really bad? There was a question about the boss having a bad programming style (weird booleans, empty loops, etc.) Having a bad/weird style does not imply being a bad programmer, but my situation is different. My boss outputs some really nasty code for the project, on which we are working together (just two of us). Examples: functions that span over several screens (big screens - 1900 x 1200) Deeply nested Conditional and Loop statements (up to 10 levels!!) Too much static variables, singletons, and both (singleton class with all the methods and members also static) Sometimes the code committed to the version control system does not even compile! Copy-Paste code instead of separating it into an independent function. Fail all the deadlines. "This's [C#|Java|Python] it shouldn't be efficient, that's why we loop all over the haystack to find the needle." "This's C/C++, it's fast enough to loop all over the haystack to find the needle." There is much more to mention... But the worst is that I have to redo much of the stuff he does, my code, which I try to keep clean is often polluted with above-mentioned atrocities. He's reaching 30 soon, so all his skills are established, and I don't even know if it's possible to change something. I like the project, but sometimes I just want to quit...

    Read the article

  • Microsoft Keyboard(8000) play button opens Windows Media Player rather than Zune on Windows 7

    - by Chance
    Im currently using the Microsoft 8000 keyboard on Windows 7 and before installing Microsoft's Keyboard application, it was opening Zune and playing music with the play button. After installation, it is now opening Windows Media Player rather than Zune. If I have Zune open and press play, it will open WMP and upon pressing it again, will kick off the play command in Zune. I've checked the default programs in the control panel and have set Zune as default for all available but that hasn't changed anything. Has anyone run into this before? I'm a bit stumped as googling does not produce any relevant results. Thanks!

    Read the article

  • Effects of automated time tracking/monitoring [closed]

    - by user73937
    What are the effects of monitoring the developers' computer usage? (Which program they use - based on the title of the applications - and how much time in a day they use the keyboard and mouse.) Would it has any positive or negative effects on productivity, morale, motivation, etc? It will not have any direct impact on the developers' salary or their performance review it's just for curiosity. The developer and their manager will only see the results. Would it change anything if only the developer is allowed to see the results? The developer can disable the monitoring (for privacy) but it won't count as work time (in the monitoring program).

    Read the article

  • Multiple servers using same nameservers

    - by Robsimm
    I have 2x servers with the following OS's and Control Panels: Windows Server 2003 running Plesk 9 Centos 5.3 running WHM/cPanel The Windows server 2003 server is hosting the two nameservers: ns1.domain.com ns2.domain.com I have BIND running on the Centos 5.3 server, but I wish for my customers to use the same nameservers ns1.domain.com and ns2.domain.com (as per the Windows Server 2003 server). My first question is - is this possible? And if so, how would I go about configuring both servers to enable such a configuration? Thanks very much.

    Read the article

  • Orchard shapeshifting

    - by Bertrand Le Roy
    I've shown in a previous post how to make it easier to change the layout template for specific contents or areas. But what if you want to change another shape template for specific pages, for example the main Content shape on the home page? Here's how. When we changed the layout, we had the problem that layout is created very early, so early that in fact it can't know what content is going to be rendered. For that reason, we had to rely on a filter and on the routing information to determine what layout template alternates to add. This time around, we are dealing with a content shape, a shape that is directly related to a content item. That makes things a little easier as we have access to a lot more information. What I'm going to do here is handle an event that is triggered every time a shape named "Content" is about to be displayed: public class ContentShapeProvider : IShapeTableProvider { public void Discover(ShapeTableBuilder builder) { builder.Describe("Content") .OnDisplaying(displaying => { // do stuff to the shape }); } } .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } This handler is implemented in a shape table provider which is where you do all shape related site-wide operations. The first thing we want to do in this event handler is check that we are on the front-end, displaying the "Detail" version, and not the "Summary" or the admin editor: if (displaying.ShapeMetadata.DisplayType == "Detail") { Now I want to provide the ability for the theme developer to provide an alternative template named "Content-HomePage.cshtml" for the home page. In order to determine if we are indeed on the home page I can look at the current site's home page property, which for the default home page provider contains the home page item's id at the end after a semicolon. Compare that with the content item id for the shape we are looking at and you can know if that's the homepage content item. Please note that if that content is also displayed on another page than the home page it will also get the alternate: we are altering at the shape level and not at the URL/routing level like we did with the layout. ContentItem contentItem = displaying.Shape.ContentItem; if (_workContextAccessor.GetContext().CurrentSite .HomePage.EndsWith(';' + contentItem.Id.ToString())) { _workContextAccessor is an injected instance of IWorkContextAccessor from which we can get the current site and its home page. Finally, once we've determined that we are in the specific conditions that we want to alter, we can add the alternate: displaying.ShapeMetadata.Alternates.Add("Content__HomePage"); And that's it really. Here's the full code for the shape provider that I added to a custom theme (but it could really live in any module or theme): using Orchard; using Orchard.ContentManagement; using Orchard.DisplayManagement.Descriptors; namespace CustomLayoutMachine.ShapeProviders { public class ContentShapeProvider : IShapeTableProvider { private readonly IWorkContextAccessor _workContextAccessor; public ContentShapeProvider( IWorkContextAccessor workContextAccessor) { _workContextAccessor = workContextAccessor; } public void Discover(ShapeTableBuilder builder) { builder.Describe("Content") .OnDisplaying(displaying => { if (displaying.ShapeMetadata.DisplayType == "Detail") { ContentItem contentItem = displaying.Shape.ContentItem; if (_workContextAccessor.GetContext() .CurrentSite.HomePage.EndsWith( ';' + contentItem.Id.ToString())) { displaying.ShapeMetadata.Alternates.Add( "Content__HomePage"); } } }); } } } The code for the custom theme, with layout and content alternates, can be downloaded from the following link: Orchard.Themes.CustomLayoutMachine.1.0.nupkg Note: this code is going to be used in the Contoso theme that should be available soon from the theme gallery.

    Read the article

< Previous Page | 935 936 937 938 939 940 941 942 943 944 945 946  | Next Page >