How to use active X controls to read/write protect an excel or word document created by created by Save Report to File VI
Hi all,
I'm trying to creat a word and excel documents using Save Report to File VI. When wiring a password to this last VI, the document created are only protected against writing but not reading. How can I use active X controls to password protect these documents against reading?
Thanks a bunch!
O
There is no predefined functionality available in LabVIEW. So you have to implement this on your own.
It seems to me that you own the Office Report Generation Toolkit. You can use the Excel Get ActiveX References.vi from the Excel Specific >> Advanced palette to get access to the "generic" ActiveX Excel references. Starting from this point, you can use property and invoke nodes to get to the setting you are going to modify.
Please refer to this link for information on Excel password protection. I have not searched for the object giving you access to those settings though....
hope this helps,
Norbert
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
Similar Messages
-
Read Write Data into a MS Word document
The requirement I am fullfilling directly specifies the need to write data into a Microsoft Word Document and if Necessary, Read Back data from a Microsoft Word Document. The data will be simple text but as time goes on I anticipate the systems engineers may expand the requirement. I want to cross one bridge at a time so I am just concentrating on the text issue. I must do it from within a stand-alone application. Not through a server, not through ASP, not through a browser, just a stand alone application. It appears from my own investigation of the JAVA API that this is not possible. Regrettably, I am only a day or so away from switching to C# or VB to get this job done. My first question is
1. Can Java Do this?
2. If not, does Sun Microsystems have any plans to add this capabiliy?
3. Can we make recommendations to Sun to add this capability to JAVA?1. Can Java Do this?Java can do anything but there is no built-in ability to do just that.
2. If not, does Sun Microsystems have any plans to add
this capabiliy?
3. Can we make recommendations to Sun to add this
capability to JAVA?Very doubtful! MS Office document formats are not completely open to the public - and they are weird! Supporting this capability would probably require an agreement with Microsoft and it would mean you had to change the API for every time Microsoft chooses to change the document formats.
But there are some open source tools that claim to be rather good at reading and writing MS Office files. Take a look at this one:
http://jakarta.apache.org/poi/index.html -
how we use tcom to control vi program? we have got this tcl script from googling but it is not running , it says to run the vi as activex server ,how can we do it? it is opening the vi but gives the error "high frequency not found in vi connector pane.what are the different methods that we can use with vi ? in the example some methods such as getvireference etc have been used
# Interfacing to LabView via TCOM
package require tcom
# Start the "Frequency Response" VI as an ActiveX server. (If the VI
#was
# compiled then you would refer to it by its registered server name.
#For
# example, if you compiled 'A.vi' and created 'A.exe', then you would
#load
# it with 'set lv [::tcom::ref createobject "A.Application"]'.)
set lv [::tcom::ref createobject "LabView.Application"]
# Create a reference to the VI. (You may want to use
# '[$lv ApplicationDirectory]' to get the correct path for this PC.
# For a compiled VI, use just the VI's name, for example:
# 'set viPath "A.vi"'.)
set viPath "C:\\Program Files\\National Instruments\\LabVIEW 8.2\\examples\\apps\\freqresp.llb\\Frequency Response.vi"
set vi [$lv GetVIReference $viPath]
$vi FPWinOpen True
# Create the parameter arrays. The first array is a list of terminal
#names;
# the second array is a list of their values. We must pass in a value
#for
# every terminal on the VI's connector (unless we are very sure that
#the VI
# has a valid initial value for that terminal). We must also pass in
#a
# value for the output terminals; LabView will ignore it.
set names [list Amplitude "Number of Steps" "Low Frequency" "High
Frequency" "Response Graph"]
# Create the values array
set values [list 5 105 15 1005 0]
# Call the VI and get the results
$vi Call names values
# The Response Graph is returned in 'values'
puts $values
#5 105 15 1005 {{400.0 406.238291234 412.573873162...
# If the VI is running we cannot use the 'Call' method, but we can
# set and query individual Controls/Indicators. (The "Frequency
# Response" VI does not continue running - you call it, it runs, then
# it stops until you call it again. However, many VIs run
#continuously
# once you start them, and many are set to start running as soon as
#you
# load them. Obviously, compiled VIs typically start running as soon
# as you load them.)
$vi SetControlValue "Low Frequency" 5
$vi SetControlValue "Amplitude" 10
$vi GetControlValue "Amplitude"
# 10
# The graph hasn't changed (because the VI isn't running), but we can
# still read it. Notice that the graph is an Indicator (not a
#Control),
# but we still use the 'GetControlValue' method to read it.
set new_graph [$vi GetControlValue "Response Graph"]
# You may need to manipulate the VI's menus. Unfortunately LabView
#does
# not expose any method for doing this, so you must use the Windows
# Scripting Shell. The <ESC> key does not seem to work this way, so
# the menus should have shortcuts that use ALT or Ctrl key
#combinations.
# Start the Windows Scripting Shell and send an <ALT> key to the GUI
set WShell [::tcom::ref createobject WScript.Shell]
$WShell SendKeys %%
$WShell SendKeys {DOWN}
# Send Alt-X
$WShell SendKeys %X
# When we are done, we may want to shut down the VI.
$lv QuitHi,
I'm not too familiar with tcom interfacing with LabVIEW, but you may want to check out other DFs, such as this one here. Would it be possible to printscreen the LabVIEW error you are talking about- "high freq not found...". Furthermore, you may want to confirm the functionality of the script with the person who made it.
I hope this helps,
Regards,
Nadim
Applications Engineering
National Instruments -
In SQL Server Reporting Services (SSRS), drill-down is an action we can apply to any report item to hide and show other report items. They all are ways that we can organize and display data to help our users understand our report better. In this article,
we are talking about how to use parameter to control the Expand/Collapse drill-down options in SSRS report.
Consider that the report has a dataset (dsSales) with following fields: SalesTerritoryGroup, SalesTerritoryCountry, CalendarYear, SalesAmount.
1. The report has the following group settings:
Parent Group: SalesTerritoryGroup
Child Group: SalesTerritoryCountry
Child Group: CalendarYear
Details: SalesAmount
2. Add three parameters in the report:
GroupExpand:
Available Values: “Specify values”
Label: Yes Value: Yes
Label: No Value: No
Default Values: “Specify values”
Value: Yes
CountryExpand:
Available Values: “Specify values”
Label: Yes Value: =IIF(Parameters!GroupExpand.Value="No",Nothing,"Yes")
Label: No Value: No
Default Values: “Specify values”
Value: =IIF(Parameters!GroupExpand.Value="No","No","Yes")
YearExpand:
Available Values: “Specify values”
Label: Yes
Value: =IIF(Parameters!GroupExpand.Value="No" or Parameters!CountryExpand.Value="No",Nothing,"Yes")
Label: No Value: No
Default Values: “Specify values”
Value: =IIF(Parameters!GroupExpand.Value="No" or Parameters!CountryExpand.Value="No","No","Yes")
3. Right click SalesTerritoryCountry icon in the Row Groups dialog box, select Group Properties.
4. Click Visibility in the left pane. Select “Show or hide based on an expression” and type with following expression:
=IIF(Parameters!GroupExpand.Value="Yes", False, True)
Select “Display can be toggled by this report item” option, and select “SalesTerritoryGroup” in the drop down list.
5. Use the same method setting CalendarYear, (Details) drill-down with following expression:
=IIF(Parameters!CountryExpand.Value="Yes", False, True)
=IIF(Parameters!YearExpand.Value="Yes", False, True)
6. Click SalesTerritoryGroup text box in the tablix. Select InitialToggleState property in the Properties dialog box, and type following expression:
=IIF(Parameters!GroupExpand.Value="Yes", True, False)
7. Use the same method setting SalesTerritoryCountry, CalendarYear text box with following expression:
=IIF(Parameters!CountryExpand.Value="Yes", True, False)
=IIF(Parameters!YearExpand.Value="Yes", True, False)
After that, when we preview the report, we can use these three parameters to expand/collapse drill-down.
Note:
In our test, we may meet following issue. We can check the expression of InitialToggleState property to troubleshooting the issue.
Applies to
Reporting Services 2008
Reporting Services 2008 R2
Reporting Services 2012In SQL Server Reporting Services (SSRS), drill-down is an action we can apply to any report item to hide and show other report items. They all are ways that we can organize and display data to help our users understand our report better. In this article,
we are talking about how to use parameter to control the Expand/Collapse drill-down options in SSRS report.
Consider that the report has a dataset (dsSales) with following fields: SalesTerritoryGroup, SalesTerritoryCountry, CalendarYear, SalesAmount.
1. The report has the following group settings:
Parent Group: SalesTerritoryGroup
Child Group: SalesTerritoryCountry
Child Group: CalendarYear
Details: SalesAmount
2. Add three parameters in the report:
GroupExpand:
Available Values: “Specify values”
Label: Yes Value: Yes
Label: No Value: No
Default Values: “Specify values”
Value: Yes
CountryExpand:
Available Values: “Specify values”
Label: Yes Value: =IIF(Parameters!GroupExpand.Value="No",Nothing,"Yes")
Label: No Value: No
Default Values: “Specify values”
Value: =IIF(Parameters!GroupExpand.Value="No","No","Yes")
YearExpand:
Available Values: “Specify values”
Label: Yes
Value: =IIF(Parameters!GroupExpand.Value="No" or Parameters!CountryExpand.Value="No",Nothing,"Yes")
Label: No Value: No
Default Values: “Specify values”
Value: =IIF(Parameters!GroupExpand.Value="No" or Parameters!CountryExpand.Value="No","No","Yes")
3. Right click SalesTerritoryCountry icon in the Row Groups dialog box, select Group Properties.
4. Click Visibility in the left pane. Select “Show or hide based on an expression” and type with following expression:
=IIF(Parameters!GroupExpand.Value="Yes", False, True)
Select “Display can be toggled by this report item” option, and select “SalesTerritoryGroup” in the drop down list.
5. Use the same method setting CalendarYear, (Details) drill-down with following expression:
=IIF(Parameters!CountryExpand.Value="Yes", False, True)
=IIF(Parameters!YearExpand.Value="Yes", False, True)
6. Click SalesTerritoryGroup text box in the tablix. Select InitialToggleState property in the Properties dialog box, and type following expression:
=IIF(Parameters!GroupExpand.Value="Yes", True, False)
7. Use the same method setting SalesTerritoryCountry, CalendarYear text box with following expression:
=IIF(Parameters!CountryExpand.Value="Yes", True, False)
=IIF(Parameters!YearExpand.Value="Yes", True, False)
After that, when we preview the report, we can use these three parameters to expand/collapse drill-down.
Note:
In our test, we may meet following issue. We can check the expression of InitialToggleState property to troubleshooting the issue.
Applies to
Reporting Services 2008
Reporting Services 2008 R2
Reporting Services 2012 -
I need to program a Hittite Fractional-N Synthesizer Evaluation Kit with a HMC702LP6CE an external YIG oscillator. Not sure how to use Labview to control the PLL.
Here is how to use the PLL. But I don't know of how to interact with that device
http://zone.ni.com/devzone/cda/tut/p/id/3781
And for thouse who don't know what a PLL is a free bonus link is here:
http://digital.ni.com/public.nsf/allkb/07BC8D77D4E9AE258625708B007CE74F?OpenDocument
and a second one on what that device is: http://www.hittite.com/products/view.html/view/HMC702LP6CE
Now we are all caught up to speed.
Sam S
Applications Engineer
National Instruments -
How to use the custom control ?
Hi Friends,
plz help to use of custom control in screen painter ?
and how to use the custom control ?
Thanking you.
Regards,
Subash.HI,
Screen Elements
A screen can contain a wide variety of elements, either for displaying field contents, or for allowing the user to interact with the program (for example, filling out input fields or choosing pushbutton functions). You use the Screen Painter to arrange elements on the screen.
You can use the following elements:
· Text fields
Display elements, which cannot be changed either by the user or by the ABAP program.
· Input/output fields and templates
Used to display data from the ABAP program or for entering data on the screen. Linked to screen fields.
· Dropdown list boxes
Special input/output fields that allow users to choose one entry from a fixed list of possible entries.
· Checkbox elements
Special input/output fields that the user can either select (value X) or deselect (value SPACE). Checkbox elements can be linked with function codes.
· Radio button elements
Special input/output fields that are combined into groups. Within a radio button group, only a single button can be selected at any one time. When the user selects one button, all of the others are automatically deselected. Radio button elements can be linked with function codes.
· Pushbuttons
Elements on the screen that trigger the PAI event of the screen flow logic when chosen by the user. There is a function code attached to each pushbutton, which is passed to the ABAP program when it is chosen.
· Frame
Pure display elements that group together elements on the screen, such as radio button groups.
· Subscreens
Area on the screen in which you can place another screen.
· Table controls
Tabular input/output fields.
· Tabstrip controls
Areas on the screen in which you can switch between various pages.
· Custom Controls
Areas on the screen in which you can display controls. Controls are software components of the presentation server.
· Status icons
Display elements, indicating the status of the application program.
· OK field
Every screen has a twenty-character OK_CODE field (also known as the function code field) that is not displayed directly on the screen. User actions that trigger the PAI event also place the corresponding function code into this field, from where it is passed to the ABAP program. You can also use the command field in the standard toolbar to enter the OK field. To be able to use the OK field, you need to assign a name to it.
All screen elements have a set of attributes, some of which are set automatically, others of which have to be specified in the Screen Painter. They determine things such as the layout of the screen elements on the screen. You can set the attributes of screen elements in the Screen Painter - either for a single element, or using the element list, which lists all of the elements belonging to the current screen. Some of the attributes that you set statically in the Screen Painter can be overwritten dynamically in the ABAP program.
with regards,
sowjanyagosala -
On my Mac Pro how can I get voiceover to start reading at a specific point in a document, and then continue on to the next paragraph and so on? Thank you. Ed
Welcome to the Apple family!!!!
How can I cause the VO cursor(box) show-up/start?
Press Control-Option and F5. The F5 key is located on the top row of keys 6th key over. This is a toggling "Keyboard Shortcut" for turning VoiceOver on and off.
How can I move the VO cursor to various sentences or paragraphs of an article and have it start reading ... and perhaps even continue reading on to the next paragraph(s) ... even to the end of the article?
How to read a website with VoiceOver
Step 1: Go to the Website
A quick keyboard shortcut is Command-L. This will jump you up to the address bar. Start typing where you want to go. i.e "www.thewebsite.com"
Step 2: Working with Webpage
VoiceOver will automatically start reading the website. You can pause the speech by hitting the 'Control Button'.
If VoiceOver does not being reading the webpage, then you might have to "Interact" with it. If VoiceOver say "HTML Content" then press Control-Option-Space-Down Arrow to interact with the webpage.
Use Control-Option-Right Arrow to move throught the website. This will speak "EVERYTHING" on the page.
Most website that I've found have their articles labeled as 'Heading'. You can jump from heading to heading, by pressing Control-Option-Shift-H.
If you'd like an itemized alphabetical listing of the site, press Control-Option-I
Press Control-Option-Space on the link or article you want to view.
Step 3. Reading from Top to Bottom
Once you found and clicked on the the article/link, use the same 'Heading' command, Control-Option-Shift-H to find the title.
After finding the title, press Control-Option-A will start reading from the title on.
Note: If there are any other items (ads, pictures, etc) it will read those too.
Tip: You might be able to activate a feature called the 'Reader'. The Reader isolates the article and elimanates the ads The keyboard command is Shift-Command-R. You can also find it in the Menu Bar (Command-Option-M) under the word 'View' then 'Show Reader'.
I am using a MACPro with OSX, probably Mavericks 10.9 (where would I look to see if that is the correct information?)
You can find this information under the 'Apple menu' in the Menu Bar. To access the Menu Bar, press Control-Option-M.
Go to Apple Menu > About This Mac. This will open up another window. Use Control-Option-Right Arrow until you hear 'Version'. If you purchased it brand new from Apple within the last six month, more than likely you have Mavericks.
Recommanded Articles.
AppleVis- Commonly used Keyboard Commands
Chapter 2: Learning VoiceOver Basics
Chapter 6: Browsing the internet
Apple Accessibility Resource Page
The 'Commands Help' Voiceover Menu. Control-Option-H-H. (hit H twice) is my best friend. It's a searchable VoiceOver Menu with most of the VoiceOver command. Example: You are looking for the 'Read Current Paragraph' keyboard command. Press Control-Option-H-H and then type Paragraph. It will then bring up all the commands with the word paragraph. I believe there are three.
As from the Trackpad Commands, I've copied and pasted below from Appendix A: Commands and Gestures
VoiceOver standard gestures
If you’re using a Multi-Touch trackpad, you can use VoiceOver gestures. VoiceOver provides a set of standard gestures for navigating and interacting with items on the screen. You can’t modify this set of gestures.
NOTE:Gestures that don’t mention a specific number of fingers are single-finger gestures.
General
Enable the Trackpad Commander and VoiceOver gestures
VO-Two-finger rotate clockwise
Disable the Trackpad Commander and VoiceOver gestures
VO-Two-finger rotate counterclockwise
Turn the screen curtain on or off
Three-finger triple-tap
Mute or unmute VoiceOver
Three-finger double-tap
Navigation
Force the VoiceOver cursor into a horizontal or vertical line when you drag a finger across the trackpad
Hold down the Shift key and drag a finger horizontally or vertically
Move the VoiceOver cursor to the next item
Flick right
Move the VoiceOver cursor to the previous item
Flick left
Move content or the scroll bar (depending on the Trackpad Commander setting)
Three-finger flick in any direction
Go to the Dock
This gesture moves the VoiceOver cursor to the Dock wherever it’s positioned on the screen
Two-finger double-tap near the bottom of the trackpad
Go to the menu bar
Two-finger double-tap near the top of the trackpad
Open the Application Chooser
Two-finger double-tap on the left side of the trackpad
Open the Window Chooser
Two-finger double-tap on the right side of the trackpad
Jump to another area of the current application
Press Control while touching a finger on the trackpad
Interaction
Speak the item in the VoiceOver cursor or, if there isn’t an item, play a sound effect to indicate a blank area
Touch (includes tap or dragging)
Select an item
Double-tap anywhere on the trackpad
You can also split-tap (touch one finger and then tap with a second finger on the trackpad)
Start interacting with the item in the VoiceOver cursor
Two-finger flick right
Stop interacting with the item in the VoiceOver cursor
Two-finger flick left
Scroll one page up or down
Three-finger flick up or down
Escape (close a menu without making a selection)
Two-finger scrub back and forth
Increase or decrease the value of a slider, splitter, stepper, or other control
Flick up (increase) or flick down (decrease)
Text
Read the current page, starting at the top
Two-finger flick up
Read from the VoiceOver cursor to the end of the current page
Two-finger flick down
Pause or resume speaking
Two-finger tap
Describe what’s in the VoiceOver cursor
Three-finger tap
Change how VoiceOver reads text (by word, line, sentence, or paragraph)
Press the Command key while touching a finger on the trackpad
Rotor
Change the rotor settings
Two-finger rotate
Move to the previous item based on the rotor setting
Flick up
Move to the next item based on the rotor setting
Flick down
To customize other gestures by assigning VoiceOver commands to them, use the Trackpad Commander.
Assigning VoiceOver commands to gestures
If you need a reminder about what a gesture does, press VO-K to start keyboard help, and then use the gesture on the trackpad and listen to the description.
Learning about keys, keyboard shortcuts, and gestures
Sorry lots of information. Enjoy. You -
How a administrator user is different from read-write user in Aruba Central?
Q: How a administrator user is different from read-write user in Aruba Central?
A: Aruba Central allows administrator to create multiple user of different access levels to help manage the system. This access levels include:
read only
read/write
guest operator
NOTE: These access levels can be imposed on a specific "ap group" or a set of "ap groups" or all of them.
Therefore looking at the roles, many of the aruba central customers, had a question of how a administrator user is different from read-write user.
Administrator is the only user who can move access points between groups. Read/Write user Do Not Have Permission to execute this action.Hi,
I've managed to get what I needed by using a shift register + event structure as suggested by Adnan. However, I face another problem after implementing SR+event. I've attached two files, first the original program and second the updated program using SR + event. (it's only the jpg file as I've forgotten to save the labview program, will upload the program by tomorrow.
In the original program, I have an elapsed time that is able to run continuously when I run the program. In the updated program, my elapsed time don't seem to run continuously when I run the program (as shown by elapsed time indicator). I need the elapsed time to run continuously as a input to calculate my motor profile.
I suppose this is caused by the introduction of the event structure, will adding a case structure to wrap the event structure solve the problem or is there another way to get pass this. Appreciate if someone could drop me a pointer or two.
Thanks
Attachments:
Mar 16 - continuous elapsed time.png 12 KB
Mar 16 - elapsed time not continuous after introducing shift register + event structure.png 17 KB -
How do I convert a powerpoint presentation saved as pdf to an editable word document minus all the frames around the slides?
Hi Sara!
Yes this sounds interesting. Can I update to that from the PDF Export I have just renewed? How much would that cost?
Thanks for your quick answer.
Best Regards
Per-Olof Egli Logga Egli C.I.S
Managing Director
Egli C.I.S. Consulting
Lapphundsgränd 43
SE-128 62 SKÖNDAL
Sweden/Швеция
Phone: +46 708 23 03 53
<http://www.eglicisconsulting.se/> www.eglicisconsulting.se
<mailto:[email protected]> [email protected]
Skype: eglipo
Från: Sara.Forsberg
Skickat: den 10 september 2014 22:11
Till: P-o Egli
Ämne: How do I convert a pdf-presentation into Powerpoint, which it is said that I can do? I can convert into Word, but that is of no help as I need to change the text in the document.
How do I convert a pdf-presentation into Powerpoint, which it is said that I can do? I can convert into Word, but that is of no help as I need to change the text in the document.
created by Sara.Forsberg <https://forums.adobe.com/people/Sara.Forsberg> n Adobe ExportPDF - View the full discussion <https://forums.adobe.com/message/6718870#6718870> -
How do I stop the spinning wheel that replaced the cursor in a Word document?
How do I stop the spinning wheel that replaced the cursor in a Word document?
Something is causing Word to lock up. Restart the laptop and/or reinstall Office/Word to fix the instability. Maybe even a bad plugin or document could be causing this if it's only happening when you open a particular doc.
-
Hi Experts,
Client is experiencing the following issue when performing task/s in SAP B1, please assist.
SAP B1 version 8.81 PL4
OS Windos 7 32 bit
Error message: Exception(DoConnect): "Attempted to read/write protected memory. This is often indicator that memory is corrupt"
Regards,
David TenganiHi
Thanks for your response, Yes there ia addon, XL Reporter and a 3rd party addon.
We tried disabling these addons but the error still shows.
Regards,
David -
AcroPdf Active X control with Reader 9.0
Hi Guys,
We have been developing a Windows .NET based solution that displays PDF files. We have been using the AcroPDF.dll active X component which further launches the AcroRd32.exe.
Observations:
1. Upon installation of Reader 9.0, we no longer see the AcroRd32.exe in the task manager.
2. When we exit the application, we see an error message "Cannot read the memory at ...."
Questions:
1. Do we need a newer version of the Active X control? If yes, Where do we get this new version from?
2. How has Adobe addressed issues of memory management in Reader 9.0?I just found the solution at the following link:
http://stackoverflow.com/questions/1...sing-problem-c It uses the following code:
[System.Runtime.InteropServices.DllImport("ole32.dll")]
static extern void CoFreeUnusedLibraries();
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
if (axAcroPDF1 != null)
axAcroPDF1.Dispose();
System.Windows.Forms.Application.DoEvents();
CoFreeUnusedLibraries();
I used it, and found no errors :-) -
Why doesn't firefox use Active X Controls
I need to have Active X Control to access my banking process. I have this on IE but prefer to use Firefox, how can I make Active X Control work on Firefox
Firefox does not support ActiveX technology for multiple reasons.
* ActiveX is only available on Windows operating systems, and as a result webpages that require it will not work on Linux or Mac.
* ActiveX integration with the Windows operating system has made it a target for malicious software.
[https://support.mozilla.com/en-US/kb/ActiveX] -
How to use Source Code Control for Large Application?
Hi, All!
I would like to collect knowledge about "best practice" examples for using Source Code Control and project organization for relative large application (let's say approx 1000 SubVIs).
Tools used:
LabVIEW 8.0
CVS Server
PushOK CVS Proxy Client
WinCVS
With LabVIEW 8 we can organize large project pretty well. This described in article Managing Large Applications with the LabVIEW Project.
I have read this article too: Using Source Control Software with LabVIEW In this Article Source Safe used, but with PushOK all looks nearby the same and works (some tricks for compare function are required).
Example. Two developers working together on same project. Internally project is modular, so one developer will work with module "Analysis", and another one with "Configuration" without interferences. These modules placed into Subfolders as shown in example above.
Scenario 1:
Developer A started with modification of module "Analysis". Some files checked out. He would like to add some SubVIs here. So, he must also perform check out for the project file (*.lvproj), otherwise he cannot add anything into project structure.
Developer B at the same time would like to add some new functions into module "Configuration". He also needed to check out project file, but this file already checked out by Developer A (and locked). So, he must wait until lvproj file will be checked in. Another way is mark *.lvproj files as text files in PushOK, but then one of developers will get conflict message by checking in and then merging will be necessary. This situation will coming very often, because in most cases *.lvproj file will be checked out all the time.
Question: Which practice is better for such situation? Is Libraries better than folder for large project?
Scenario 2:
Developer C joined to the team. First, he must get complete project code for starting (or may be at least code of one Library, which assigned to him).
Question: How it can be done within LabVIEW IDE? Or WinCVS (or other SCC UI) should be used for initial checkout?
Scenario 3:
Developer D is responcible for Build. Developers A,B,C have added lot of files into modules "Analysis", Configuration" and "FileIO". For building he need to get complete code. If our project splitted into folders, he should get latest *.lvproj first, then newly added SubVIs will appear in Project Explorer, then he should expand tree, select all SubVIs and get latest versions for all. If Project organized in Libraries, he must do the same for each library, isn't?.
Question: Is this "normal way", or WinCVS should be used for this way? In WinCVS its possible with two mouseclicks, but I prefer to get all code from CVS within LabVIEW IDE recursively...
That was a long post... So, if you already working with LabVIEW 8 with SCC used for large project, please post your knowledge here about project structure (Folders or Libraries) and best practices, its may be helpful and useful for all of us. Any examples/use cases/links etc are appreciated.
Thank you,
AndreyRegarding your scenarios:
1. Using your example, let's say both developers checked out version 3
of the project file. Assuming that there are only files under the
directories in the example project, when Developer A checks in his
version of the project, there will be new files in one section of the
project separate from where Developer B is working. Developer B,
notices that there is now a version 4 of the project. He needs to
resolve the changes so will need to merge his changes to the latest
version of project file. Since the project file is a text file, that is
easy to do. Where an issue arrises is that after Developer B checks in
his merged changes, there is a revision 5. When Developer A and B go to
make another change, they get the latest version which will have the
merged changes to the project file but not the referenced files from
both Developer A and B. So when A opens version 5, he sees that he is
missing the files that B checked in and visa versa. Here is where the
developers will needs to manually use the source control client and,
external to LabVIEW, get those new files.
Where libraries help with the above scenario is that the library is a
separate file from the project so changes made to it outside of the
project do not require the project to be modified. So this time, the
developers are using a single project again which time time references
two libraries. The developers check out the libraries, make changes to
the libraries, and then check those changes in. So when each developer
opens the project file, since it references the project file, the
changes to the library will be reflected. There is still the issue of
the new files not automatically coming down when the latest version of
the library is obtained. Again, the developers will needs to manually
use the source control client and, external to LabVIEW, get those new
files. In general, you should take advantage of the the modularity that
libraries provide.
2. As noted in the above scenario, there is no intrinsic mechanism to
get all files referenced by a LabVIEW project. Files that are missing
will be noted. The developer will then have to use the source control
provider's IDE to get the initial contents of the project (or library).
3. See above scenarios.
George M
National Instruments -
How to use OEM grid control to find any database not in archivelog mode?
Hello,
currently we have 130 databases, say, if I want to pick out any database currently NOT in archivelog mode, is there a quick way to find out ?
by using OEM grid control
or
some trick similar,
but really don't need to check each database manually.
thank you very much!This query works in 12c - please run as SYSMAN.
It is based on undocumented assumptions though +( AND key_value = 'NOARCHIVELOG')+.
SELECT *
FROM SYSMAN.MGMT$GROUP_DERIVED_MEMBERSHIPS O ,
SYSMAN.MGMT$TARGET T ,
sysman.MGMT$AVAILABILITY_CURRENT st
WHERE
o.member_target_type IN ('oracle_database', 'rac_database')
AND ( t.target_type ='rac_database'
OR (t.target_type ='oracle_database'
AND t.type_qualifier3 != 'RACINST'))
AND o. member_target_guid = t.target_guid
AND t.target_guid = st.target_guid
AND st.availability_status = 'Target Up'
AND ( EXISTS
(SELECT *
FROM sysman.mgmt$metric_current i
WHERE I.TARGET_GUID = O.MEMBER_TARGET_GUID
AND metric_name = 'archFull'
AND Metric_Column = 'archTotal'
AND metric_label = 'Archive Area'
AND column_label = 'Total Archive Area (KB)'
AND key_value = 'NOARCHIVELOG'
));Another way to achieve the goal is to push extended metrics (SELECT LOG_MODE FROM V$DATABASE) on each DB, and monitor the values they return to the repository. This is an example for a (slightly) different problem - http://iiotzov.wordpress.com/2012/08/08/how-to-use-the-new-oem-12c-metric-extensions-to-enforce-enterprise-wide-custom-policies .
OEM Repository has many other great uses as well - http://iiotzov.files.wordpress.com/2012/05/oem-repository-a-second-look.doc , http://iiotzov.files.wordpress.com/2011/08/iotzov_oem_repository.pdf
Iordan Iotzov
http://iiotzov.wordpress.com/
Maybe you are looking for
-
Watermark Photos in Photoshop CS4??
Is there a way I can batch Watermark photos in Photoshop CS4?? I have around 50 pictures that I take for my new photography business. I will send the company most of the pictures, but I want them all watermarked so they can not steal them. They will
-
I have recently upgraded to vista and have downloaded Itunes 7.1. I have also updated my ipod to 1.2.1 but itunes refuses to sync with with the ipod. The following error message appears. Attempting to copy to disk "JACK'S IPOD" failed. You do not hav
-
Drawing smooth circles in labview
Hi I am using the 'Draw Circle by Radius' VI to draw a pie chart inside a picture box. Its all fine, except that the circle edges are not exactly smooth (see the attached pic). I tried looking for it on the net, but couldn't find anything of much u
-
Hi, we have applied vtm patch for the database, changing the o_h from 11.2.02_Q311 to 11.2.0.2_Q112 (311--3rd quarter 2011, 112-- 1st quarter 2012), the patch went fine and the database was up and running. The pfile was located in different folder an
-
The RSS link I want to receive in my Thunderbird is the following : http://pubs.acs.org/action/showFeed?ui=2sg2mw&mi=2cxbizc&type=search&feed=rss&query=%2526pageSize%253D20%2526AfterMonth%253D6%2526pubDateRange%253DcoverDateRange%2526AfterYear%253D20