• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    PETVALSharepoint & Foundation :: MOSS & WSS :: Project :: FAST, Search :: ...a cela tahle aplikacni rodinka Sharepoint / Teams / Viva / SPFx / Copilot...a cela tahle aplikacni rodinka
    LITTLE_FARMER
    LITTLE_FARMER --- ---
    LITTLE_FARMER: Respektive, Validátor by šel asi odebrat uplně, kdyby to bylo ošetřený tim regexem...
    LITTLE_FARMER
    LITTLE_FARMER --- ---
    PETVAL: Díky za opdověď! Pomocí Visual Studia sleduju breakpointy a to co píšeš jsem vyzkoušel znovu, a opět narazil. ItemAdding event se nespustí, protože validator ty ilegalni znaky pozná a zastaví to ještě dřív než SP skočí do ItemAddingu. A ještě: není někde manuál/dokumentace těch properties - respektive k jakym promenejm pristupuju v tom ItemAddingu a jak? Už s tim bojuju fakt dlouho v kuse a pořád končim na tom samym. Díky za pomoc. Nemohl bys dyštak uvést příklad jak třeba všechno na tvrdo přejmenovat na "ABC" ? Regex si napíšu sám. A jak obejít ten validátor netušíte někdo?

    namespace nyxTest.EventReceiver1
    {
        public class EventReceiver1 : SPItemEventReceiver
        {
            public override void ItemAdding(SPItemEventProperties properties)
            {
                {
                   // SPListItem item = properties.ListItem; ?? :)
                    base.ItemAdding(properties);
                 }
            }
        }
    }
    
    PETVAL
    PETVAL --- ---
    LITTLE_FARMER: ItemAdding v event receiveru v site wide scope feature, asociovat receiver na patricnou ListTemplateId, nejspis tedy asi knihovny dokumentu?
    LITTLE_FARMER
    LITTLE_FARMER --- ---
    Ahoj,

    Mám otázku, jak udělat automatické přejmenování při nahrávání souborů do Sharepointu 2010?
    Jde mi o to aby se odstranili ilegální znaky a nějaké se nahradily.

    Už jsem hledal kde se dalo a už si nevím rady. Soubor s kódem jsem vždy nahrál do Solutions v Site Settings.

    Dělám něco špatně? Máte někdo odkaz na to kde to je popsané, nebo nějakou osobní radu/řešení?

    Děkuju moc.
    PETVAL
    PETVAL --- ---
    btw a co kombinace VS2013 a SP2010? Pouzivate nekdo, nejake trable?
    KERRAY
    KERRAY --- ---
    NIXX: je to 2013... máme Enable just my code, 1-2 breakpointy, symboly máme povolené jen pro svoje knihovny, MS symbol servery se nepoužívají, Require source files to exactly match zapnuté...
    NIXX
    NIXX --- ---
    KERRAY: http://stackoverflow.com/questions/3249449/vs2010-debug-entry-very-slow
    asp.net mvc - Visual Studio Debugging/Loading Very Slow - Stack Overflow
    http://stackoverflow.com/questions/12567984/visual-studio-debugging-loading-very-slow
    Overlooked reason for debug step slow-down in Visual-Studio - CodeProject
    http://www.codeproject.com/Tips/515168/Overlooked-reason-for-debug-step-slow-down-in-Visu
    Třeba něco z toho pomůže...
    NIXX
    NIXX --- ---
    KERRAY: tak to je slušný...
    Napiš, jestli se vám to povede vyřešit!
    KERRAY
    KERRAY --- ---
    NIXX: konkrétně toto, co se změní z 600 na 15000 je jen funkce, která projde všechny políčka v už načtené položce, občas udělá nějakou normalizaci, a zapíše je do slovníku... když narazí na lookup, jde rekurzivně do hloubky

    vtip je v tom, že to je to samé, co na 2010 běží jak z praku i se zapnutým debuggerem

    teď tu kolega zápasí s tím, že breakpoint na onload eventu jeho webparty se se zapnutým debuggerem aktivuje cca za 4 minuty...
    NIXX
    NIXX --- ---
    KERRAY: Ještě me napadá, jestli by to nemohlo být tím, že se výsledek dotazu načte někde do nějaké cache, pak vypneš debug, dotaz zopakuješ a najednou to odpoví rychle díky tý cache... Ale to je jen takovej brainstorming.
    Co je to vlastně za dotaz? SPQuery, LINQ2SharePoint nebo něco jinýho?
    KERRAY
    KERRAY --- ---
    NIXX: jojo
    NIXX
    NIXX --- ---
    KERRAY: Máš na mysli s Visual Studio debuggerem attachnutým na w3wp.exe procesy?
    ARIAEL
    ARIAEL --- ---
    KERRAY: No spis vyzkousej strcit tam SSD... Necekane to dava znacne lepsi vysledky. A to opotrebeni SSD taky neni nijak zavratny pokud tedy samozrejme udrzujes tech max 40% vyuzivane kapacity
    KERRAY
    KERRAY --- ---
    PETVAL: má to teď 16 GB, není tam zapnutej search apod., ale mělo to 24 a na pomalosti debugování to nic nezměnilo

    no aspoň je motivace dodělat do našeho skriptovacího modulu i debugování a vývoj ve VS z větší části opustit
    ARIAEL
    ARIAEL --- ---
    KERRAY: Je proste cas si rict o novy server :)
    PETVAL
    PETVAL --- ---
    kolik pameti?
    KERRAY
    KERRAY --- ---
    SharePoint 2013 a VS2013: při vypnutém debugování trvá rekurzivní načítání dat jedné položky a na ni napojených lookupů 400ms

    při zapnutém debugování, po nastavení všech možných doporučení co ještě všechno kvůli pomalému debugu nastavit, trvá načtení té stejné položky 15 vteřin
    KERRAY
    KERRAY --- ---
    KERRAY
    KERRAY --- ---
    a jelikož se ten skript blbě kopíruje a vyžaduje další úpravy, vytáhl jsem z komentářů a poupravil tuhle verzi
    function ribbon_init() {
        var ribbon = (SP.Ribbon.PageManager.get_instance()).get_ribbon();
        alert(SP.Ribbon.PageManager.get_instance());
        createTab(ribbon);
    }
    
    function createTab(ribbon) {
        var tab = new CUI.Tab(ribbon, 'Sample.Tab', 'Sample', 'Tab Description', 'Sample.Tab.Command', false, '', null, null);
        ribbon.addChild(tab); 
        var group = new CUI.Group(ribbon, 'Sample.Tab.Group', 'Sample Actions', 'Group Description', 'Sample.Group.Command', null);
        tab.addChild(group);
        var layout = new CUI.Layout(ribbon, 'Sample.Layout', 'The Layout');
        group.addChild(layout);
        var section = new CUI.Section(ribbon, 'Sample.Section', 2, 'Top'); //2==OneRow
        layout.addChild(section);
        var controlProperties = new CUI.ControlProperties();
        controlProperties.Command = 'Sample.Button.Command';
        controlProperties.Id = 'Sample.ControlProperties';
        controlProperties.TemplateAlias = 'o1';
        controlProperties.ToolTipDescription = 'Use this button';
        controlProperties.Image32by32 = '/_layouts/images/placeholder32x32.png';
        controlProperties.ToolTipTitle = 'A Button';
        controlProperties.LabelText = 'Something';
        var button = new CUI.Controls.Button(ribbon, 'Sample.Button', controlProperties);
        var controlComponent = button.createComponentForDisplayMode('Large');
        var row1 = section.getRow(1);
        row1.addChild(controlComponent);
        group.selectLayout('The Layout');
        SelectRibbonTab('Sample.Tab', true);
    }
    
    SP.SOD.executeOrDelayUntilScriptLoaded(function () {
        var pm = SP.Ribbon.PageManager.get_instance();
        pm.add_ribbonInited(function () {
            ribbon_init();
            /* Register classes and initialize page component */
            SamplePageComponent.registerClass('SamplePageComponent', CUI.Page.PageComponent);
            SamplePageComponent.initializePageComponent();
            //NotifyScriptLoadedAndExecuteWaitingJobs('SamplePageComponent.js');
        });
    }, "sp.ribbon.js");
    
    try
    {
        /* Initialize the page component members */
        SamplePageComponent = function () {
            SamplePageComponent.initializeBase(this);
        }
        SamplePageComponent.initializePageComponent = function () {
            var ribbonPageManager = SP.Ribbon.PageManager.get_instance();
            if (null !== ribbonPageManager) {
                var rbnInstance = SamplePageComponent.get_instance();
                ribbonPageManager.addPageComponent(rbnInstance);
            }
        }
        SamplePageComponent.get_instance = function () {
            if (SamplePageComponent.instance == null) {
                SamplePageComponent.instance = new SamplePageComponent();
            }
            return SamplePageComponent.instance;
        }
        SamplePageComponent.prototype = {
            /* Create an array of handled commands with handler methods */
            init: function () {
                var buttonEnabled = false;
                this._handledCommands = new Object();
                this._handledCommands['Sample.Tab.Command'] = { enable: function () { return true; }, handle: function (commandId, props, seq) { /* do action */ } };
                this._handledCommands['Sample.Group.Command'] = { enable: function () { return true; }, handle: function (commandId, props, seq) { /* do action */ } };
                this._handledCommands['Sample.Button.Command'] = { enable: function () { return true; }, handle: function (commandId, props, seq) { /* do action */ } };
                this._commands = ['Sample.Tab.Command', 'Sample.Group.Command', 'Sample.Button.Command'];
                $('#buttonEnable').click(function () {
                    buttonEnabled = !buttonEnabled;
                    var ribbon = SP.Ribbon.PageManager.get_instance().get_ribbon();
                    ribbon.setFocusOnRibbon();
                    ribbon.pollForStateAndUpdate();
                    SelectRibbonTab('Sample.Tab', true);
                });
            },
            getFocusedCommands: function () { return []; },
            getGlobalCommands: function () { return this._commands; },
            canHandleCommand: function (commandId) {
                var handlerFn = this._handledCommands[commandId].enable;
                if (typeof (handlerFn) == 'function') {
                    return handlerFn();
                }
                return true;
            },
            handleCommand: function (commandId, properties, sequence) {
                return this._handledCommands[commandId].handle(commandId, properties, sequence);
            },
            isFocusable: function () { return false; },
            yieldFocus: function () { return false; },
            receiveFocus: function () { return true; },
            handleGroup: function () { }
        }
    }
    catch(error)
    {
        alert(error);
    }
    
    KERRAY
    KERRAY --- ---
    Úpravy ribbonu přes JavaScript, hurá, a prý s úpravama i v 2010 - fakt nechápu, proč to nemají zdokumentovaný a přístupný celý ty roky

    Creating SharePoint ribbon elements in JavaScript at UMT CG Software Blog
    http://www.ro.umt.com/blog/2013/11/14/creating-sharepoint-ribbon-elements-in-javascript/
    PETVAL
    PETVAL --- ---
    Kliknutím sem můžete změnit nastavení reklam