Auto indexing

Hi all,
I have the following issue.
When <b>I</b> create a new document in a KMdirectory(I have content_admin_role, contentmanager, system_admin e.t.c.), <b>almost automatically</b>, this document is indexed by the available index. (I have modified the queque parameters accordingly).
<b>BUT</b>, when <b>a user </b>(without the content_amin_role), creates a document in the same directory(PublicDocs), his document is not picked up by the Index.
I have to run manually "incremental Update" from  the Index administrator in order to force this document to the Index.
Could you please tell me what I have to do in order user's documents being indexed automatically?
Many thanks in advance
Vasso

Achim,
thanks for your reply.
I forgot to mention, that when I assigned the role content_admin_role to the user, everything is working OK, but this is not a solution.
About your reply, -I am new in portal- could you pls give some info, where to find these log files? (SP13)
Many thanks
Vasso

Similar Messages

  • Auto-indexing is slow for arrays with 1 dimensions

    Hi,
    I was looking at the performance of operations on all individual elements in 3D arrays, especially the difference between auto-indexing (left image) and manual-indexing (right image, calling "Index array" and "Replace array subset" in the innermost loop). I'm a bit puzzled by the results and post it here for discussion and hopefully somebody's benefit in the future.
    Left: auto-indexing; right: manual-indexing
    In the tests I added a different random number to all individual elements in a 3D array. I found that auto-indexing is 1.2 to 1.5 times slower than manual-indexing. I also found that the performance of auto-indexing is much more dependent on the size the dimensions: an array with 1000x200x40 elements is 20% slower than an array with 1000x40x200 elements. For manual-indexing there is hardly any difference. The detailed results can be found at the end of this post.
    I was under the impression that auto-indexing was the preferred method for this kind of operation: it achieves exactly the same result and it is much clearer in the block diagram. I also expected that auto-indexing would have been optimized in LabView, but the the tests show this is clearly not the case.
    What is auto-indexing doing?
    With two tests I looked at how auto-index works.
    First, I looked if auto-indexing reorganizes the data in an inefficient way. To do this I made a method "fake-auto-indexing" which calls "Array subset" and "Reshape array" (or "Index array" for a 1D-array) when it enters _every_ loop and calls "Replace array subset" when exiting _every_ loop (as opposed to manual-indexing, where I do this only in the inner loop). I replicated this in a test (calling it fake-auto-indexing) and found that the performance is very similar to auto-indexing, especially looking at the trend for the different array lengths.
    Fake-auto-indexing
    Second, I looked if Locality of reference (how the 3D array is stored in memory and how efficiently you can iterate over that) may be an issue. Auto-indexing loops over pages-rows-columns (i.e. pages in the outer for-loop, rows in the middle for-loop, columns in the inner for-loop). This can't be changed for auto-indexing, but I did change it for manual and fake-indexing. The performance of manual-indexing is now similar to auto-indexing, except for two cases that I can't explain. Fake-auto-indexing performs way worse in all cases.
    It seems that the performance problem with auto-indexing is due to inefficient data organization.
    Other tests
    I did the same tests for 1D and 2D arrays. For 1D arrays the three methods perform identical. For 2D arrays auto-indexing is 15% slower than manual-indexing, while fake-auto-indexing is 8% slower than manual-indexing. I find it interesting that auto-indexing is the slowest of the three methods.
    Finally, I tested the performance of operating on entire columns (instead of every single element) of a 3D array. In all cases it is a lot faster than iterating over individual elements. Auto-indexing is more than 1.8 to 3.4 times slower than manual-indexing, while fake-auto-indexing is about 1.5 to 2.7 times slower. Because of the number of iterations that has to be done, the effect of the size of the column is important: an array with 1000x200x40 elements is in all cases much slower than an array with 1000x40x200 elements.
    Discussion & conclusions
    In all the cases I tested, auto-indexing is significantly slower than manual-indexing. Because auto-indexing is the standard way of indexing arrays in LabView I expected the method to be highly optimized. Judging by the tests I did, that is not the case. I find this puzzling.
    Does anybody know any best practices when it comes to working with >1D arrays? It seems there is a lack of documentation about the performance, surprising given the significant differences I found.
    It is of course possible that I made mistakes. I tried to keep the code as straightforward as possible to minimize that risk. Still, I hope somebody can double-check the work I did.
    Results
    I ran the tests on a computer with a i5-4570 @ 3.20 GHz processor (4 cores, but only 1 is used), 8 GB RAM running Windows 7 64-bit and LabView 2013 32-bit. The tests were averaged 10 times. The results are in milliseconds.
    3D-arrays, iterate pages-rows-columns
    pages x rows x cols : auto    manual  fake
       40 x  200 x 1000 : 268.9   202.0   268.8
       40 x 1000 x  200 : 276.9   204.1   263.8
      200 x   40 x 1000 : 264.6   202.8   260.6
      200 x 1000 x   40 : 306.9   205.0   300.0
     1000 x   40 x  200 : 253.7   203.1   259.3
     1000 x  200 x   40 : 307.2   206.2   288.5
      100 x  100 x  100 :  36.2    25.7    33.9
    3D-arrays, iterate columns-rows-pages
    pages x rows x cols : manual  fake
       40 x  200 x 1000 : 277.6   457       
       40 x 1000 x  200 : 291.6   461.5
      200 x   40 x 1000 : 277.4   431.9
      200 x 1000 x   40 : 452.5   572.1
     1000 x   40 x  200 : 298.1   460.4     
     1000 x  200 x   40 : 460.5   583.8
      100 x  100 x  100 :  31.7    51.9
    2D-arrays, iterate rows-columns
    rows  x cols  : auto     manual   fake
      200 x 20000 :  123.5    106.1    113.2    
    20000 x   200 :  119.5    106.1    115.0    
    10000 x 10000 : 3080.25  2659.65  2835.1
    1D-arrays, iterate over columns
    cols   : auto  manual  fake
    500000 : 11.5  11.8    11.6
    3D-arrays, iterate pages-rows, operate on columns
    pages x rows x cols : auto    manual  fake
       40 x  200 x 1000 :  83.9   23.3     62.9
       40 x 1000 x  200 :  89.6   31.9     69.0     
      200 x   40 x 1000 :  74.3   27.6     62.2
      200 x 1000 x   40 : 135.6   76.2    107.1
     1000 x   40 x  200 :  75.3   31.2     68.6
     1000 x  200 x   40 : 133.6   71.7    108.7     
      100 x  100 x  100 :  13.0    5.4      9.9
    VI's
    I attached the VI's I used for testing. "ND_add_random_number.vi" (where N is 1, 2 or 3) is where all the action happens, taking a selector with a method and an array with the N dimensions as input. It returns the result and time in milliseconds. Using "ND_add_random_number_automated_test.vi" I run this for a few different situations (auto/manual/fake-indexing, interchanging the dimensions). The VI's starting with "3D_locality_" are used for the locality tests. The VI's starting with "3D_norows_" are used for the iterations over pages and columns only.
    Attachments:
    3D_arrays_2.zip ‏222 KB

    Robert,
    the copy-thing is not specific for auto-indexing. It is common for all tunnels. A tunnel is first of all a unique data space.
    This sounds hard, but there is an optimization in the compiler trying to reduce the number of copies the VI will create. This optimization is called "in-placeness".
    The in-placeness algorithm checks, if the wire passing data to the is connected to anything else ("branch"). If there is no other connection then the tunnel, chance is high that the tunnel won't create an additional copy.
    Speaking of loops, tunnels always copies. The in-placeness algorithm cannot opt that out.
    You can do a small test to elaborate on this: Simply wire "0" (or anything less than the array sizy of the input array) to the 'N' terminal.......
    Norbert
    PS: Auto-indexing is perfect for a "by element" operation of analysis without modification of the element in the array. If you want to modify values, use shift registers and Replace Array Subset.
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • [CLAD] Auto-index​ing

    Dear all,
    In one of the CLAD sample exams the question is as follows:
    Auto-indexing at loop boundary is a feature that allows: (more than one answer may apply)
     a. Arrays to be automatically traversed from one iteration to the next
     b. Array functions to automatically index array elements
     c. Functions that use arrays to automatically index them
     d. Arrays to be automatically accumulated at loop boundaries
    I thought B and D are correct, however according to the sample exam the correct answers are A and D. The justification given is "Auto-indexing is a feature for loops interacting with arrays. Array functions themselves do not have iterative auto-indexing features.". I thought A relates to shift registers?
    Thank you in advance

    Jeff·Þ·Bohrer wrote:
    While a bit missleading in wording A is correct Auto indexing input tunnels traverses the row index of an array such that row i is on the wire inside the loop.  Shift registers and feedback nodes cannot auto index.  Those nodes pass data between loop iterations 
    I have to disagree with you Jeff.  The sentence says traverse arrays from one iteration to the next.  The arrays are not being passed on to the next iteration.  The rows are being indexed, not moved on to the next iteration.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions

  • Creating an array without using "auto-indexing"

    Hello,
    it is terrible! I'm new in working with LV5.0 (Evaluation) and I can't
    find any examples how to write data into an array without using the
    function "auto-indexing" of the "WHILE" or "FOR"-loops..
    The values do not appear all at the same time, so I can't use the
    "create_array" function.
    So I want to "collect" all occured values and then write them e.g. in a
    file.
    Did I miss anything in the description ???
    Who can help me?
    Thanks, CHZ

    CHZ wrote in message news:[email protected]..
    > Hello,
    > it is terrible! I'm new in working with LV5.0 (Evaluation) and I can't
    > find any examples how to write data into an array without using the
    > function "auto-indexing" of the "WHILE" or "FOR"-loops..
    > The values do not appear all at the same time, so I can't use the
    > "create_array" function.
    > So I want to "collect" all occured values and then write them e.g. in a
    > file.
    The "Create array" function can be configured to take arrays as well as
    elements. You have to use a loop that iterates as often as necessary,
    checking for new data. When it receives new data, it adds the new data to
    the existing array. It's probably easier to attach a small example than to
    describe it in more
    detail.
    [Attachment Array.zip, see below]
    Attachments:
    Array.zip ‏10 KB

  • Auto index only shows partial data

    Hi everyone,
    Please see the attached file.  I've added notes where the data goes missing.  I know it has something to do with auto-indexing and I spent quite a bit of time reading about it and trying different things but I really need some help now please.
    Thank you!
    Solved!
    Go to Solution.
    Attachments:
    For forum.vi ‏47 KB
    For forum.xlsx ‏12 KB

    Think about what you're trying to do.
    You have three arrays you're indexing.  Let's say they're lengths 1, 2, and 3.
    In the first iteration, we'd index 0 and get back a value from all three.
    In the second iteration, we'd index 1 and get back two values and have a bounds conflict.
    In the third iteration, we'd index 2 and get back a single value while having two bounds conflicts.
    Anything you process in the second and third iteration is garbage.  You have bad inputs so the output isn't useful to you.  In some languages, this will throw an error at runtime for indexing out of bounds.  Some will just let you process the garbage.  In no case do you WANT to run this.
    If you want to process all the elements of the array of size 3, you need to fill in values for the first to arrays to make them all have a length of 3.  Once you do that, the loop will run as you desire.  If you have auto-indexed tunnels with fewer elements than the constant you wire, they will override the terminal, as they should.

  • Auto-index only shows 9 values instead of 91

    I'm pretty new to LabVIEW and am trying to show a cluster of 91 values pulled from a text file.  Just for a test run without using actual values passed, I created a text file with the numbers ranging from 1-91 (1 number per line up to 91).  When I let it auto index and try to unbundle it after transforming it from an array to a cluster, it only shows 9 values instead of 91.  Do you happen to know how I can overcome this issue?
    I have attached the basic files.
    Solved!
    Go to Solution.
    Attachments:
    For Loop Problem.vi ‏7 KB
    SMA.txt ‏1 KB

    STigmata08 wrote:
    Thank you very much, I had no idea that you could select a cluster size from the transformation.  I am converting it to a cluster because I thought that it would be the best form to insert the data into different parts of a word template.  I am trying to build an auto reporting tool for a test sequence.
    You need to set thee cluster size, because clusters are static structures and the size needs to be known at compile time. This also makes them useless for your problem.
    To extract all lines from a file, you could use Spreadsheed string to array with a 1D string array as type and linefeet as delimiter. No need for FOR loops and complicated code. Also your sequence structure has no purpose because execution order is fully determined by dataflow anyway. Why is it there? Don't clutter the diagram with useless constructs!
    Here's what you could do. You can get any element, array subsets, etc. using array tools. These are scalable and you don't need to know beforehand how many line are in the file.
    Here's a quick draft (LV8.6)... 
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    For Loop ProblemMOD.vi ‏8 KB
    ArrayNoCluster.PNG ‏9 KB

  • Using auto-indexing tunnels to write data files?

    Hi,
    I am using ni-motion controller to control a servo motor and collect position and torque data. I want to write the collected data to TDMS files.
    Recently I learned about the producer/consumer design pattern and I figured that would be a good approach to ensure that writing the files didn't slow down my data collection timed loop.
    However, I also figured out that my program seems to run well if I wire the data I collect to auto-indexing tunnels. Then I use a structure that only executes after all the data collection is done to write the arrays I built to TDMS files.
    Is there any reason that the latter method would be advised against? Can the auto idexing tunnels slow down my loop enough for it cause concern? I am only collecting about 5000 data points for each channel.
    Cheers,
    Kenny
    Solved!
    Go to Solution.

    Well, autoindexing tunnels don't write data files, they just accumulate data until the loop completes. If this is a FOR loop with a known number of iterations, the size of the output data can be allocated in one swoop, which is very efficient. If you are autoindexing on a WHILE loop, the final array size is not known, so LabVIEW needs to make a guess and and requires occasional new memory allocations whenever the last guess is exceeded. This is inefficient.
    One problem with these approaches is if the program or computer crashes. In this case the data in the shift register is lost forever, while if you would stream it to disk, you would have most of the data acquired so far.
    If you use a proper producer/consumer architecture, you should be able to asynchronously write the data and it will not slow down your acquisition. No need ot wait for the competion of data gathering.
    LabVIEW Champion . Do more with less code and in less time .

  • Unable to create auto-indexing loop tunnel

    I am modifying a VI created by someone else, and in the block diagram there is a loop tunnel that is supposed to be auto-indexing. But when I open the file the loop tunnel is non auto-indexing and will not allow me to change it to auto-indexing (when I right click it says "Disable Indexing" but it is light gray and cannot be clicked on). When the same file is opened on another computer the tunnel is auto-indexing and the VI runs without any errors. How can I fix this problem?
    Using Labview 2013

    This normally happens when you install DAQmx before installing LabVIEW.  The DAQmx installer will autodetect what programming language support needs installed.  So you do not need to do anything special other than install the drivers after installing LabVIEW.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Convert "1D array of dynamic data" to "Dynamic data" after auto-indexing with loop

    Hi -
    I have a question about how exaclty auto-indexing works with the Dynamic Data type when exiting a while loop. I'd like to use the DAQ assistant to record data through an analog input (on the MyDAQ) and then replay that data through an analog output. This works fine if I use the DAQ Assistant to record data for a set amount of time:
    However, I run into trouble when I try to use a While loop with a stop button to record data for an arbitrary amount of time. I set the dynamic data tunnel out of the While loop to "Indexing", but then when it exits the loop, it becomes "1-D Array of Dynamic Data" instead of just "Dynamic Data", and get a broken wire when I try to connect it to the input of the DAQ Assistant. I've also tried converting the dynamic data to Array and Waveform data types inside the loop, but have the same issue (they become 2D Array and 2D Array of Waveform respectively when leaving the loop). Try as I might using blocks like Convert to/from Dynamic Data Type, or Array Subset, I'm unable to get them back down to just Dynamic Data or Waveform, which will be accepted by the DAQ Assistant:
    One other small note - I'm not sure if using the "Build Array" function with a shift register accomplishes exactly the same thing as just auto-indexing an array out of the loop - so I've tried both, but still have the broken wire issue.
    I'm assuming this is just a simple issue of using the right block to convert "1D Array of [Something]" to just plain [Something]. Any help appreciated.
    Attachments:
    PWM_FlatSequence.vi ‏101 KB
    PWM_FlatSequence_While.vi ‏129 KB

    I have been facing problem for all temperature values placing the Write to Measurement File outside the Loop. 
    In Error message it says" Source: 1D array of dynamic data and Sink: Dynamic data".
    Is there any means of convering 1D array of dynamic data to dynamic data?
    I would highly appreciate any help.
    Attachments:
    Temperature Logger.vi ‏110 KB

  • Array Size doesn't work correctly after "Auto-indexed Tunnel"

    Array Size returns value even if Empty Array is detected after "Auto-indexed Tunnel" tha generates 2D array.
    See example + VI with correct output as I expected.
    OR
    There is problem with generating 2D array --- It's empty. 1D array is generated in right way. 100 x 0 but not Emptu Array.
    Attachments:
    ArraySize_Bug.vi ‏9 KB
    ArraySize_Corrected.vi ‏19 KB

    Not a bug. This is correct behavior that is consistent with other parts of LabVIEW.
    The decision to handle multi-dimensional arrays like this was made long ago and is an enshrined part of the LabVIEW language spec. It will not be changed.

  • What is physical meaning of Auto indexing array input ...

    What is the physical interpretation of auto indexing.?
    Solved!
    Go to Solution.

    It is like a Pez Dispenser. Every time the loop iterates the neck pops back and you get the next piece of candy. The loop keeps going popping out yummy candy (I don't like the peppermint but I do like orange) until the dispenser is empty. If you have more than one Pez Dispenser then their heads are all tied together so that they pop back simultaniously and cannot do so independently. This has the unfortunate consequence that once one of them runs out you are done even though there are still other Pez Dispensers full of strawberry or grape. Even worse, if one of them is empty then none of their heads can pop back and you get no candy whatsoever!
    [Edit: I am trying to be funny and not sarcastic. I hope you don't take it wrong ]
    =====================
    LabVIEW 2012

  • Auto index entry generation for a range of sentences?

    Is there any way to mark a range of sentences and associate it with a particular index entry? For a lengthy book, I don't think one can really expect the text to never change, hence regenerating the index needs to continue to work even if a bit of text was added which pushes one of the range of sentences onto the next page.
    The closest thing I found was to mark the beginning of the range of sentences with an index entry for "the next 1 paragraph," but this doesn't seem to work. In my example document, http://goldfinches.org/InDesign/Failed%20Index%20Entry.indd the "Dog" entry spans two pages, but only 1 paragraph, and yet the index that is generated only has the first page in it.

    Greg,
    There is no way to say, index from here to here. But you can use any of the range designators. From what you're describing, the most likely to be useful is the one that indexes up to the next instance of a particular paragraph style.
    Dave

  • Bridge Auto-Indexing?

    RIght now I'm using bridge to upload files onto a file server with keywords, with a number of others uploading too. However, when we want to search for files using keywords, we have to check the option "Include Non-indexed Files" so that the search goes through files that others have uploaded, and it is very slow. Is there a way to make the server keep an eye on one file and automatically index it when new files are uploaded? or is there any other solution that would work better?

    This realization is leading me to try and find another third party solution,
    another challenge in itself. ideally I am looking for a solution that that
    does not restrict how assets are cataloged by the application. For example I
    do not like Extensis Portfolio, because you only have access to the assets
    through Portfolio, they are not otherwise accessible.
    As Adobes policy has been for years that it is impossible to have a right
    solution for every network (which is an understandable statement with all
    the different set ups user have in their own configuration) their is a
    growing demand from users for such a solution to have a reasonable usage for
    Bridge over a network.
    You would not hold your breath for realization of it at this moment. If you
    need this for asset management look also at Canto Cumulus.
    There is a but and I believe that is reasonable, don't think you could use
    the single user version (I have it and compared to Extensis Portfolio and
    Expression Media by far the best solution for me) and probably need a custom
    set up they will create for you.
    The but is in this part, as Bridge is still a 'free' application that comes
    with applications from the Adobe Suites you will have to pay a lot more for
    such a solution.
    Frankly I think that could also be reasonable if you have many workers that
    need this and have a giant workflow improvement

  • Auto indexing and wrap around

    Hallo,
    when I enable AutoIndexing on a While-Loop, the node returns nothing when
    the loop reads beyond the end of the array. Is there a way to change this
    behaviour so, that the array wraps around and the WhileLoop reads the array
    again and again and...
    I could do it with a ForLoop nested within a WhileLoop but I love elegant
    solutions ;-)
    Regards
    Oliver Friedrich

    Hello Oliver,
    There are several different ways you can do this depending on how you want your output to look. If you would like to repeatedly display each element of the array individually in an indicator, you can use a for loop inside the while loop, with indexing enabled on the for loop but not the while loop. If, instead, you would like to append to your array as the while loop runs so that the array grows in a repeating pattern, you can use either the build array.vi or insert into array.vi in combination with shift registers. I am attaching a simple example VI that demonstrates each of these methods.
    I hope this helps!
    Jyoti F.
    National Instruments
    Attachments:
    repeating_array.vi ‏22 KB

  • Auto index array

    I have built a motor tester that gets 2 arrays of data from a power meter. This data is eventually stored in a TDMS file. I have light curtain that is acting as a duel purpose. First, it is instantly grounding the motor when the light curtain is broken for OHSA safety purposes. Second, it is sending a 9 volt DC voltage to signal the VI that the test is complete and to record the data to the TDMS file.
    The problem I am having is about 10% of the time the readings recorded to the TDMS file are incorrect due to the motor being grounded as the data is being gathered from the power meter. What I want to do is store the last three sets of data from the power meter into an array and then when the light curtain is broken, the oldest data in the array is passed on to write to the TDMS file. This should prevent bad data from being recorded to the TDMS file since it will be two iterations of the state before the motor was grounded.
    What would be the best way to accomplish this task?

    MwMonty wrote:
    I have this state in a loop so it repeats and gathers new data each iteration. This is to allow the readings to stabilize. Once the operator is satisfied the readings are stable they reach into the light curtain to remove the motor under test. I am trying to capture the last stable reading and record it to a TDMS file.
    Just an FYI - I don't like things like "when the operator is satisfied..." because it leaves too much room for subjective opinion (which sometimes leads to intense discussion and bruising of egos, as well as making it easier for the customer to reject a part).  I would change the test requirements to something quantifiable, like "rate of change +/- 1 mV over ten readings" or whatever it is that the test engineer feels is apporpritate.  The tester should be telling the operator it is ready to start the test, not the other way around - if possible, that is.
    Bill
    (Mid-Level minion.)
    My support system ensures that I don't look totally incompetent.
    Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.

Maybe you are looking for

  • Fields missing in the printouts

    Hello everyone I have a crystal report application in VB.NET 2005, which gets the values of a field from the database and supports printing of the report in the following formats 1.     pdf 2.     directly to a printer - printout When i export the re

  • Import from HD folder with NEF and JPEG files-Can't see JPEG files

    I am using Aperture 2 and I am trying to import from an external HD folder of images, with both NEF and JPEG files of the same photo. Using the import function, the import pane only shows the NEF file, not the JPEG file. Is there a setting somewhere

  • How I can format my MacBook Pro 2012 without loosing anything

    Since a couple of months I am noticing that my laptop is getting slower on booting   Plus when I am doing  repair disk it stating that I need to do it from recovery & once I scan it  from recovery it will not find any error. I think it's time to refo

  • How to create DVD recovery on different language?

    I bought Satellite 655-149 with windows 7 64bit turkish, I would like to install windows XP russian. How to create DVD disk with drivers?

  • Java Virtual Machine error?

    Hi to all! I made one application in which i can choose stuffs for printing, and maximum number of that stuffs is 15. Problem is that when I click on the button for adding stuffs all Forms have just closed and I got only log file with error. But some