Help needed setting up Related Content in HCM 9.1 PeopleTools 8.51

I need some help setting up Related Content in HCM 9.1 PeopleTools 8.51.
I created a new service id in "Define Related Content Service". Its simple, it basically goes to google.com.
Then I assigned Related Content to Application Pages on the "Manage Related Content Configuration" page. I'm my scenario I added it to Careers right under the root menu.
Then I went to the careers page, but the "related information" link doesn't appear. How do I get that related information link to appears in the top of the component/page?
Thanks,
-Cory

In order to get this to function, there are some baseline server configuration requirements that you need in order for it to work.
1) Define the authentication Domain on the webserver
2) Define the authentication Domain on the web profile
3) Enable Single Sign-On
The following document in 'My Oracle Support' will provide you with the details on configuration related content services.
E-PORTAL: How To Configure Related Content Service. [ID 984855.1]
In addition here is a link to the online PeopleBooks that discusses the configuration of the related content services.
http://download.oracle.com/docs/cd/E18083_01/pt851pbr0/eng/psbooks/tprt/book.htm?File=tprt/htm/tprt20.htm#H3002
In addition, there are also some know limitations on the use of related content that are different dependent on the tools version you are using.
Hope this helps.

Similar Messages

  • Help needed setting up WPA

    I just upgraded my wife's USB wireless adapter to a Linksys WUSB54G which supports WPA. When I try to invoke WPA personal from my macmini, I get a message that reads that my macmini is not WPA capable. Both machines are attached to an Air Extreme. The airport is running 5.5.1. I'm running 10.4.2 on the macmini.
    Do I need to install Airport 4.1 software on my computer? I understand from various posts that 4.2 should be avoided. The PC has service pack 2 on it and should be WPA ready. Any help is appreciated.
    Steve

    In order to get this to function, there are some baseline server configuration requirements that you need in order for it to work.
    1) Define the authentication Domain on the webserver
    2) Define the authentication Domain on the web profile
    3) Enable Single Sign-On
    The following document in 'My Oracle Support' will provide you with the details on configuration related content services.
    E-PORTAL: How To Configure Related Content Service. [ID 984855.1]
    In addition here is a link to the online PeopleBooks that discusses the configuration of the related content services.
    http://download.oracle.com/docs/cd/E18083_01/pt851pbr0/eng/psbooks/tprt/book.htm?File=tprt/htm/tprt20.htm#H3002
    In addition, there are also some know limitations on the use of related content that are different dependent on the tools version you are using.
    Hope this helps.

  • Help needed setting up print server

    i got 2 printer:
    1 usb inkjet epson 1290
    1 hp5100 network
    i have 1 server:
    serving epson for our col proof using powerripx as driver and shared via os x print server
    i have 2 network interface card on the server.
    my problem is: the position of the server in the office has only one network interface port, i want to have my HP connected to the 2nd network interface of the server and the server connected to the only available network point there and thus have the server serving both printer.
    have set up the en1 interface, enable NAT, dhcp, firewall, but the server itself does not recognised the hp which is connected to the 2nd ethernet interface. when i move it on top of the ethernet list in system preferences it does recegnised it but the the whole print server is not accessible on the network.
    can someone with more experience help me set this up.
    thx

    I didn't say it's impossible. I just offered an easy solution to your problem that will save you and you users some hassle in the long run (eg. when you come to troubleshoot you wn;t have to look at 2 networks and a firewall). I guess I just like easy solutions. And ,dude, 20 bucks...
    If you want to go the hard(er) way you need to:
    1. set up a second network address range on the second card
    2. give the printer a fixed IP address within that range
    3. ensure firewall is not blocking packets from/to the printer
    4. config the printer on your print server & clients
    hth,
    b.

  • Help Needed Setting Up IMAP Relay?

    I an currently maintaining an OS X 10.4.11 Tiger server, running on a PowerMac G4 Mirror.
    Currently, we have our mail setup through our isp via pop (they do not offer imap). All of our employees have set up several access points to the pop server (i.e. home, office, smart phone, etc.). However, the problem arises that as each device is maintaining its own mail, when accessing mail on each device, mail read on one device still shows as unread on the others. As well as, any mail sent from one device, does not exist on the others.
    To eliminate the duplication, and missing mail, I thought setting up an imap server would keep all devices in sync.
    My thought is, collect all the mail from the isp pop server, onto the OS X server and then have the employees access only the imap server from all the devices.
    i.e.
    Setup imap server
    setup imap server to download mail from pop server, and save in the appropriate account.
    setup all client mail accounts to access imap server.
    I have been able to set up the imap server without any issues, however, I have not been able to figure out how to get the pop server mail from the isp into the local imap database.
    I hope this make sense.
    I know there are free services out there that will do what we want, but we do not want to rely on an external service if it is a process we can maintain internal.
    If anyone can help me set this up, or suggestions on how to approach this problem, I would be very grateful.
    TIA

    I'd probably have a conversation with the mail ISP along the lines of "add IMAP, please" and that will either be followed by happiness, or by migrating to another mail vendor, or migrating to local mail services.
    I've bucketed mail over (via imap), and it's not really a good solution; there are a number of wheels that need be kept spinning and by the time the dust settles (outages, glitches, the usual cruft), you might as well either re-host mail to to another mail ISP that offers imap (gmail, for instance), or simply run your own mail server.
    Usual tools are imapsync and offlineimap, and those target (obviously) imap and not pop. (I haven't seen much that does a pop pull, but it's likely feasible.)
    If you decide to host your own, you'll probably want to upgrade to something newer than the PPC gear, and you'll need to sort out your public forward and reverse DNS for your mail server, and ensure all that matches your MX record.

  • Help Needed With Scrollbar and Content

    I'm having a difficult time with the Scrollbar component. I'm trying to have a scrollbar set up to navigate a text field or a MC of a text field. I managed to get it functioning within the desired frame, however when I jump to another frame, that very same content appears on the other frame, despite the fact that said frame did not have the scrollbar nor the content pasted within.
    The bar seems to do what I want it to do save for the unwelcomed presence outside of the frame of choice. Here's the code I'm using. This is the keyframe code:
    import boppreh.ui.Scrollbar
    var scrollbar1:Scrollbar = new Scrollbar(boomboom, 500, true, false, 293, bar, slider, arrowUp, arrowDown)
    addChild(scrollbar1)
    scrollbar1.x = 50
    scrollbar1.y = 50
    And this is the code found in the AS file:
    package boppreh.ui
        import flash.display.*
        import flash.events.*
        import flash.geom.Rectangle;
        import flash.utils.Timer
        import flash.ui.Keyboard
         * Scrollbar to handle single display objects.
         * Author: Lucas Boppre Niehues ([email protected])
         * Date: 09/02/2010
        public class Scrollbar extends Sprite {
            /// The default width for the default slider, bar and arrows, as well as the default arrows' height
            public static const DEFAULT_SIDE:Number = 20
            /// The delay (in milliseconds) between clicking and holding an arrow and the slider moving continously
            public static var SCROLL_DELAY:Number = 300
            /// The number of lines to be scrolled every second during continous scrolling
            public static var LINES_PER_SECOND:Number = 1.5
            /// Number of pixels to be scrolled for each mouse wheel line (default lines per wheel tick is 3)
            public static var PIXELS_PER_LINE:Number = 16
            protected var windowSize:Number
            protected var contentPadding:Number
            protected var isVertical:Boolean
            /// Stored movement to be applied on the next "scroll()" call
            protected var movement:Number
            /// Timer used to control the delay before continous scrolling
            protected var timer:Timer
            protected var content:DisplayObject
            protected var contentBounds:Rectangle
            protected var bar:InteractiveObject
            protected var arrowUp:InteractiveObject
            protected var arrowDown:InteractiveObject
            protected var slider:InteractiveObject
            protected var partHold:InteractiveObject
            protected function get eventOrigin():String {
                if (partHold == arrowUp)
                    return ScrollEvent.ARROW_UP
                else if (partHold == arrowDown)
                    return ScrollEvent.ARROW_DOWN
                else if (partHold == bar)
                    return ScrollEvent.BAR
                throw new Error("Unkown event origin.")
            private var mouseOffset:Number
            protected function get maxContentPos():Number {
                if (isVertical)
                    return -(contentBounds.height - windowSize) - 1
                else
                    return -(contentBounds.width - windowSize) - 1
            /// The content's current position, in a scale from 0 to 1
            public function get position():Number {
                if (isVertical)
                    return contentBounds.y / maxContentPos
                else
                    return contentBounds.x / maxContentPos
            public function set position(value:Number) {
                value = Math.min(1, Math.max(value, 0))
                var newContentPos:Number = value * maxContentPos
                setPosition(content, isVertical ? null : newContentPos, isVertical ? newContentPos : null, false, false)
                contentBounds = content.getBounds(this)
                if (isVertical) {
                    bar.height = windowSize - (arrowUp.height + arrowDown.height)
                    slider.height = (windowSize / Math.max(contentBounds.height, windowSize)) * bar.height
                    var newSliderY:Number = arrowUp.height + (-newContentPos / contentBounds.height) * bar.height
                    setPosition(slider, null, newSliderY, false, false)
                } else {
                    bar.width = windowSize - (arrowUp.width + arrowDown.width)
                    slider.width = (windowSize / Math.max(contentBounds.width, windowSize)) * bar.width
                    var newSliderX:Number = arrowUp.width + (-newContentPos / contentBounds.width) * bar.width
                    setPosition(slider, newSliderX, null, false, false)
                updatePartsPositions()
             * Creates a new Scrollbar object to scroll a single Display Object.
             * @param    content    the object to be scrolled
             * @param    windowSize    the height or width of the scrollbar, depending if it's vertical or not; i.e.: the dimension of the content's visible part
             * @param    isVertical    defines if the scrollbar's parts should be placed on the right or bottom of the content, and if the content should be scrolled upways or to the right
             * @param    autoUpdate    automatically checks for dimensions changes in any part and updates accordingly. Use only if the content will be resized
             * @param    contentPadding    the distance between the content and all the other parts
             * @param    bar    the bar object to be used; if null, a default one will be used
             * @param    slider    the slider object to be used; if null, a default one will be used
             * @param    arrowUp    the arrow up/left object to be used; if null, a default one will be used
             * @param    arrowDown    the arrow down/right object to be used; if null, a default one will be used
            public function Scrollbar(content:DisplayObject, windowSize:Number, isVertical:Boolean=true, autoUpdate:Boolean=false, contentPadding:Number=5, bar:InteractiveObject=null, slider:InteractiveObject=null, arrowUp:InteractiveObject=null, arrowDown:InteractiveObject=null) {
                this.content = content
                this.windowSize = windowSize
                this.contentPadding = contentPadding
                this.isVertical = isVertical
                this.bar = bar || createDefaultBar()
                this.arrowUp = arrowUp || createDefaultArrow(false)
                this.arrowDown = arrowDown || createDefaultArrow(true)
                this.slider = slider || createDefaultSlider()
                timer = new Timer(SCROLL_DELAY)
                timer.addEventListener(TimerEvent.TIMER, startScrolling)
                addParts()
                if (autoUpdate)
                    this.addEventListener(Event.ENTER_FRAME, update)
                configureListeners()
                update()
                position = 0
            protected function scroll(e:*= null):void {
                // This nested if forbids the slider to continue moving if the user is
                // "holding" the bar and the slider already reached the mouse position
                if (e && (e is Event) && (Event(e).type == Event.ENTER_FRAME)) {
                    if (partHold == bar) {
                        var sliderBounds:Rectangle = slider.getBounds(this)
                        if (isVertical) {
                            if (mouseY > sliderBounds.top && mouseY < sliderBounds.bottom) {
                                stopScrolling()
                                return
                        } else {
                            if (mouseX > sliderBounds.left && mouseX < sliderBounds.right) {
                                stopScrolling()
                                return
                scrollPixels(movement)
             * Scrolls the content by the specified ammount.
             * @param    number    number of pixels to be scrolled
            protected function scrollPixels(number:Number):void {
                position += number / -maxContentPos
            protected function configureListeners():void {
                slider.addEventListener(MouseEvent.MOUSE_DOWN, startSliderDrag)
                for each (var part:InteractiveObject in [arrowUp, arrowDown, bar]) {
                    part.addEventListener(MouseEvent.MOUSE_DOWN, fixedPart_onMouseDownHandler)
                addEventListener(MouseEvent.MOUSE_WHEEL, mouse_onWheelScrollHandler)
                addEventListener(KeyboardEvent.KEY_DOWN, keyboard_onKeyDownHandler)
            protected function fixedPart_onMouseDownHandler(event:MouseEvent):void
                partHold = InteractiveObject(event.currentTarget)
                if (partHold == arrowUp) {
                    movement = -PIXELS_PER_LINE
                } else if (partHold == arrowDown) {
                    movement = PIXELS_PER_LINE
                } else if (partHold == bar) {
                    var sliderBounds:Rectangle = slider.getBounds(this)
                    if (isVertical) {
                        if (mouseY > (sliderBounds.top + sliderBounds.height / 2))
                            movement = windowSize
                        else
                            movement = -windowSize
                    } else {
                        if (mouseX > (sliderBounds.left + sliderBounds.width / 2))
                            movement = windowSize
                        else
                            movement = -windowSize
                scroll()
                dispatchEvent(new ScrollEvent(ScrollEvent.SCROLL, eventOrigin))
                stage.addEventListener(MouseEvent.MOUSE_UP, stopScrolling)
                partHold.addEventListener(MouseEvent.MOUSE_OUT, stopScrolling)
                timer.start()
            protected function keyboard_onKeyDownHandler(event:KeyboardEvent):void {
                switch (event.keyCode) {
                    case Keyboard.UP:
                    case Keyboard.LEFT:
                        movement = -PIXELS_PER_LINE
                        break
                    case Keyboard.DOWN:
                    case Keyboard.RIGHT:
                        movement = PIXELS_PER_LINE
                        break
                    case Keyboard.SPACE:
                    case Keyboard.PAGE_DOWN:
                        movement = windowSize
                        break
                    case Keyboard.PAGE_UP:
                        movement = -windowSize
                        break
                    case Keyboard.HOME:
                        movement = 0
                        position = 0
                        break
                    case Keyboard.END:
                        movement = 0
                        position = 100
                        break
                    default:
                        return
                scroll()
                dispatchEvent(new ScrollEvent(ScrollEvent.SCROLL, ScrollEvent.KEYBOARD))
            protected function startScrolling(e:*=null):void {
                timer.reset()
                this.addEventListener(Event.ENTER_FRAME, scroll)
                movement = (movement * (LINES_PER_SECOND * PIXELS_PER_LINE)) / stage.frameRate
                dispatchEvent(new ScrollEvent(ScrollEvent.CONTINOUS_SCROLL_START, eventOrigin))
            protected function stopScrolling(e:*=null) {
                timer.stop()
                this.removeEventListener(Event.ENTER_FRAME, scroll)
                stage.removeEventListener(KeyboardEvent.KEY_UP, stopScrolling)
                stage.removeEventListener(MouseEvent.MOUSE_UP, stopScrolling)
                dispatchEvent(new ScrollEvent(ScrollEvent.CONTINOUS_SCROLL_STOP, eventOrigin))
                if (partHold) {
                    partHold.removeEventListener(MouseEvent.MOUSE_OUT, stopScrolling)
                    partHold = null
            protected function mouse_onWheelScrollHandler(event:MouseEvent) {
                // The mouse wheel delta arrives inverted
                var delta:int = -event.delta
                movement = delta * PIXELS_PER_LINE
                scroll()
                dispatchEvent(new ScrollEvent(ScrollEvent.SCROLL, ScrollEvent.MOUSE_WHEEL))
            //{ region Slider Drag functions
            protected function startSliderDrag(event:MouseEvent) {
                if (isVertical)
                    mouseOffset = slider.getBounds(this).y - this.mouseY
                else
                    mouseOffset = slider.getBounds(this).x - this.mouseX
                stage.addEventListener(MouseEvent.MOUSE_MOVE, onSliderDrag)
                stage.addEventListener(MouseEvent.MOUSE_UP, stopSliderDrag)
                dispatchEvent(new ScrollEvent(ScrollEvent.SLIDER_DRAG_START, ScrollEvent.SLIDER))
            protected function stopSliderDrag(event:MouseEvent) {
                stage.removeEventListener(MouseEvent.MOUSE_UP, stopSliderDrag)
                stage.removeEventListener(MouseEvent.MOUSE_MOVE, onSliderDrag)
                dispatchEvent(new ScrollEvent(ScrollEvent.SLIDER_DRAG_STOP, ScrollEvent.SLIDER))
            protected function onSliderDrag(event:MouseEvent) {
                if (isVertical) {
                    if (bar.height == slider.height)
                        return
                } else {
                    if (bar.width == slider.width)
                        return
                if (isVertical)
                    position = (this.mouseY + mouseOffset - arrowUp.height) / (bar.height - slider.height)
                else
                    position = (this.mouseX + mouseOffset - arrowUp.width) / (bar.width - slider.width)
            //} endregion
            //{ region Visual functions
            /// Adds all required parts to the scrollbar's display list
            protected function addParts():void {
                setPosition(content, 0, 0, false, false)
                addChild(this.bar)
                addChild(this.arrowUp)
                addChild(this.arrowDown)
                addChild(this.slider)
                addChild(this.content)
             * Updates all parts to fit the new dimensions and positions.
            public function update(e:*= null):void {
                contentBounds = content.getBounds(this)
                updatePartsPositions()
                // Ugly, but updates everything that was not update in the above call based on the content's position and size
                position = position
            protected function updatePartsPositions(event:Event = null):void {
                if (isVertical) {
                    // The parts width is divided by 2 because they will be center aligned
                    var newX:Number = contentBounds.width +
                                contentPadding +
                                Math.max(slider.width, arrowUp.width, arrowDown.width, bar.width) / 2
                    setPosition(arrowUp, newX, 0, true, false)
                    setPosition(bar, newX, arrowUp.height, true, false)
                    setPosition(arrowDown, newX, arrowUp.height + bar.height, true, false)
                    setPosition(slider, newX, null, true, false)
                } else {
                    var newY:Number = contentBounds.height +
                                contentPadding +
                                Math.max(slider.height, arrowUp.height, arrowDown.height, bar.height) / 2
                    setPosition(arrowUp, 0, newY, false, true)
                    setPosition(bar, arrowUp.width, newY, false, true)
                    setPosition(arrowDown, arrowUp.width + bar.width, newY, false, true)
                    setPosition(slider, null, newY, false, true)
                updateMask()
            private function updateMask():void {
                if (content.mask && this.contains(content.mask))
                    removeChild(content.mask)
                var contentMask:Sprite = createWindowMask()
                addChild(contentMask)
                content.mask = contentMask
            protected function setPosition(part:DisplayObject, newX:Object=null, newY:Object=null, alignHorizontal:Boolean=false, alignVertical:Boolean=false):void {
                var bounds:Rectangle = part.getBounds(this)
                if (newX is Number)
                    part.x = int(newX) + (part.x - bounds.x) - ((alignHorizontal) ? bounds.width / 2 : 0)
                if (newY is Number)
                    part.y = int(newY) + (part.y - bounds.y) - ((alignVertical) ? bounds.height / 2 : 0)
            //} endregion
            //{ region Functions to draw parts
            private function createDefaultBar():Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(1)
                image.graphics.beginFill(0xFFFFFF)
                if (isVertical)
                    image.graphics.drawRect(0, 0, DEFAULT_SIDE, windowSize - DEFAULT_SIDE * 2)
                else
                    image.graphics.drawRect(0, 0, windowSize - DEFAULT_SIDE * 2, DEFAULT_SIDE)
                image.graphics.endFill()
                //image.buttonMode = true
                return image
            private function createDefaultArrow(inverted:Boolean):Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(1)
                image.graphics.beginFill(0xBFBFBF)
                image.graphics.drawRect(0, 0, DEFAULT_SIDE, DEFAULT_SIDE)
                image.graphics.endFill()
                image.graphics.lineStyle(3)
                if (isVertical) {
                    if (inverted) {
                        image.graphics.moveTo(4, 4)
                        image.graphics.lineTo(10, 16)
                        image.graphics.lineTo(16, 4)
                    } else {
                        image.graphics.moveTo(4, 16)
                        image.graphics.lineTo(10, 4)
                        image.graphics.lineTo(16, 16)
                } else {
                    if (inverted) {
                        image.graphics.moveTo(4, 4)
                        image.graphics.lineTo(16, 10)
                        image.graphics.lineTo(4, 16)
                    } else {
                        image.graphics.moveTo(16, 4)
                        image.graphics.lineTo(4, 10)
                        image.graphics.lineTo(16, 16)
                image.buttonMode = true
                return image
            private function createDefaultSlider():Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(1)
                image.graphics.beginFill(0xBFBFBF)
                if (isVertical)
                    image.graphics.drawRect(0, 0, DEFAULT_SIDE, windowSize - DEFAULT_SIDE * 2)
                else
                    image.graphics.drawRect(0, 0, windowSize - DEFAULT_SIDE * 2, DEFAULT_SIDE)
                image.graphics.endFill()
                image.buttonMode = true
                return image
            private function createWindowMask():Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(0)
                image.graphics.beginFill(0x000000, 1)
                if (isVertical)
                    image.graphics.drawRect(0, 0, content.width + 1, windowSize)
                else
                    image.graphics.drawRect(0, 0, windowSize, content.width + 1)
                image.graphics.endFill()
                image.alpha = 0
                return image
            //} endregion
    And this is the ScrollEvent AS file:
    package boppreh.ui
        import flash.events.Event;
         * Events related to the Scrollbar class.
         * Author: Lucas Boppre Niehues ([email protected])
         * Date: 09/02/2010
        public class ScrollEvent extends Event
            /// Dispatched when a scroll movement occurs
            public static const SCROLL:String = "scroll"
            /// Dispatched when the user has clicked and is holding an arrow or the bar
            public static const CONTINOUS_SCROLL_START:String = "continous scroll start"
            /// Dispatched when the user has clicked and dropped an arrow or the bar
            public static const CONTINOUS_SCROLL_STOP:String = "continous scroll stop"
            /// Dispatched when the user starts dragging the slider part
            public static const SLIDER_DRAG_START:String = "slider drag start"
            /// Dispatched when the user stops dragging the slider part
            public static const SLIDER_DRAG_STOP:String = "slider drag stop"
            /// Origin type representing the arrow up part
            public static const ARROW_UP:String = "arrow up"
            /// Origin type representing the arrow down part
            public static const ARROW_DOWN:String = "arrow down"
            /// Origin type representing the bar part
            public static const BAR:String = "part"
            /// Origin type representing the slider part
            public static const SLIDER:String = "slider"
            /// Origin type representing the keyboard
            public static const KEYBOARD:String = "keyboard"
            /// Origin type representing the mouse wheel
            public static const MOUSE_WHEEL:String = "mouse wheel"
            public var origin:String
             * Creates a new ScrollEvent object.
             * @param    type    the object type (first group of declared constants)
             * @param    origin    the object that originated the event (second group of declared constants)
            public function ScrollEvent (type:String, origin:String, bubbles:Boolean = false, cancelable:Boolean = false) {
                this.origin = origin
                super(type, bubbles, cancelable)
    Any help would be appreciated. I've been stuck here all day.

    I'm having a difficult time with the Scrollbar component. I'm trying to have a scrollbar set up to navigate a text field or a MC of a text field. I managed to get it functioning within the desired frame, however when I jump to another frame, that very same content appears on the other frame, despite the fact that said frame did not have the scrollbar nor the content pasted within.
    The bar seems to do what I want it to do save for the unwelcomed presence outside of the frame of choice. Here's the code I'm using. This is the keyframe code:
    import boppreh.ui.Scrollbar
    var scrollbar1:Scrollbar = new Scrollbar(boomboom, 500, true, false, 293, bar, slider, arrowUp, arrowDown)
    addChild(scrollbar1)
    scrollbar1.x = 50
    scrollbar1.y = 50
    And this is the code found in the AS file:
    package boppreh.ui
        import flash.display.*
        import flash.events.*
        import flash.geom.Rectangle;
        import flash.utils.Timer
        import flash.ui.Keyboard
         * Scrollbar to handle single display objects.
         * Author: Lucas Boppre Niehues ([email protected])
         * Date: 09/02/2010
        public class Scrollbar extends Sprite {
            /// The default width for the default slider, bar and arrows, as well as the default arrows' height
            public static const DEFAULT_SIDE:Number = 20
            /// The delay (in milliseconds) between clicking and holding an arrow and the slider moving continously
            public static var SCROLL_DELAY:Number = 300
            /// The number of lines to be scrolled every second during continous scrolling
            public static var LINES_PER_SECOND:Number = 1.5
            /// Number of pixels to be scrolled for each mouse wheel line (default lines per wheel tick is 3)
            public static var PIXELS_PER_LINE:Number = 16
            protected var windowSize:Number
            protected var contentPadding:Number
            protected var isVertical:Boolean
            /// Stored movement to be applied on the next "scroll()" call
            protected var movement:Number
            /// Timer used to control the delay before continous scrolling
            protected var timer:Timer
            protected var content:DisplayObject
            protected var contentBounds:Rectangle
            protected var bar:InteractiveObject
            protected var arrowUp:InteractiveObject
            protected var arrowDown:InteractiveObject
            protected var slider:InteractiveObject
            protected var partHold:InteractiveObject
            protected function get eventOrigin():String {
                if (partHold == arrowUp)
                    return ScrollEvent.ARROW_UP
                else if (partHold == arrowDown)
                    return ScrollEvent.ARROW_DOWN
                else if (partHold == bar)
                    return ScrollEvent.BAR
                throw new Error("Unkown event origin.")
            private var mouseOffset:Number
            protected function get maxContentPos():Number {
                if (isVertical)
                    return -(contentBounds.height - windowSize) - 1
                else
                    return -(contentBounds.width - windowSize) - 1
            /// The content's current position, in a scale from 0 to 1
            public function get position():Number {
                if (isVertical)
                    return contentBounds.y / maxContentPos
                else
                    return contentBounds.x / maxContentPos
            public function set position(value:Number) {
                value = Math.min(1, Math.max(value, 0))
                var newContentPos:Number = value * maxContentPos
                setPosition(content, isVertical ? null : newContentPos, isVertical ? newContentPos : null, false, false)
                contentBounds = content.getBounds(this)
                if (isVertical) {
                    bar.height = windowSize - (arrowUp.height + arrowDown.height)
                    slider.height = (windowSize / Math.max(contentBounds.height, windowSize)) * bar.height
                    var newSliderY:Number = arrowUp.height + (-newContentPos / contentBounds.height) * bar.height
                    setPosition(slider, null, newSliderY, false, false)
                } else {
                    bar.width = windowSize - (arrowUp.width + arrowDown.width)
                    slider.width = (windowSize / Math.max(contentBounds.width, windowSize)) * bar.width
                    var newSliderX:Number = arrowUp.width + (-newContentPos / contentBounds.width) * bar.width
                    setPosition(slider, newSliderX, null, false, false)
                updatePartsPositions()
             * Creates a new Scrollbar object to scroll a single Display Object.
             * @param    content    the object to be scrolled
             * @param    windowSize    the height or width of the scrollbar, depending if it's vertical or not; i.e.: the dimension of the content's visible part
             * @param    isVertical    defines if the scrollbar's parts should be placed on the right or bottom of the content, and if the content should be scrolled upways or to the right
             * @param    autoUpdate    automatically checks for dimensions changes in any part and updates accordingly. Use only if the content will be resized
             * @param    contentPadding    the distance between the content and all the other parts
             * @param    bar    the bar object to be used; if null, a default one will be used
             * @param    slider    the slider object to be used; if null, a default one will be used
             * @param    arrowUp    the arrow up/left object to be used; if null, a default one will be used
             * @param    arrowDown    the arrow down/right object to be used; if null, a default one will be used
            public function Scrollbar(content:DisplayObject, windowSize:Number, isVertical:Boolean=true, autoUpdate:Boolean=false, contentPadding:Number=5, bar:InteractiveObject=null, slider:InteractiveObject=null, arrowUp:InteractiveObject=null, arrowDown:InteractiveObject=null) {
                this.content = content
                this.windowSize = windowSize
                this.contentPadding = contentPadding
                this.isVertical = isVertical
                this.bar = bar || createDefaultBar()
                this.arrowUp = arrowUp || createDefaultArrow(false)
                this.arrowDown = arrowDown || createDefaultArrow(true)
                this.slider = slider || createDefaultSlider()
                timer = new Timer(SCROLL_DELAY)
                timer.addEventListener(TimerEvent.TIMER, startScrolling)
                addParts()
                if (autoUpdate)
                    this.addEventListener(Event.ENTER_FRAME, update)
                configureListeners()
                update()
                position = 0
            protected function scroll(e:*= null):void {
                // This nested if forbids the slider to continue moving if the user is
                // "holding" the bar and the slider already reached the mouse position
                if (e && (e is Event) && (Event(e).type == Event.ENTER_FRAME)) {
                    if (partHold == bar) {
                        var sliderBounds:Rectangle = slider.getBounds(this)
                        if (isVertical) {
                            if (mouseY > sliderBounds.top && mouseY < sliderBounds.bottom) {
                                stopScrolling()
                                return
                        } else {
                            if (mouseX > sliderBounds.left && mouseX < sliderBounds.right) {
                                stopScrolling()
                                return
                scrollPixels(movement)
             * Scrolls the content by the specified ammount.
             * @param    number    number of pixels to be scrolled
            protected function scrollPixels(number:Number):void {
                position += number / -maxContentPos
            protected function configureListeners():void {
                slider.addEventListener(MouseEvent.MOUSE_DOWN, startSliderDrag)
                for each (var part:InteractiveObject in [arrowUp, arrowDown, bar]) {
                    part.addEventListener(MouseEvent.MOUSE_DOWN, fixedPart_onMouseDownHandler)
                addEventListener(MouseEvent.MOUSE_WHEEL, mouse_onWheelScrollHandler)
                addEventListener(KeyboardEvent.KEY_DOWN, keyboard_onKeyDownHandler)
            protected function fixedPart_onMouseDownHandler(event:MouseEvent):void
                partHold = InteractiveObject(event.currentTarget)
                if (partHold == arrowUp) {
                    movement = -PIXELS_PER_LINE
                } else if (partHold == arrowDown) {
                    movement = PIXELS_PER_LINE
                } else if (partHold == bar) {
                    var sliderBounds:Rectangle = slider.getBounds(this)
                    if (isVertical) {
                        if (mouseY > (sliderBounds.top + sliderBounds.height / 2))
                            movement = windowSize
                        else
                            movement = -windowSize
                    } else {
                        if (mouseX > (sliderBounds.left + sliderBounds.width / 2))
                            movement = windowSize
                        else
                            movement = -windowSize
                scroll()
                dispatchEvent(new ScrollEvent(ScrollEvent.SCROLL, eventOrigin))
                stage.addEventListener(MouseEvent.MOUSE_UP, stopScrolling)
                partHold.addEventListener(MouseEvent.MOUSE_OUT, stopScrolling)
                timer.start()
            protected function keyboard_onKeyDownHandler(event:KeyboardEvent):void {
                switch (event.keyCode) {
                    case Keyboard.UP:
                    case Keyboard.LEFT:
                        movement = -PIXELS_PER_LINE
                        break
                    case Keyboard.DOWN:
                    case Keyboard.RIGHT:
                        movement = PIXELS_PER_LINE
                        break
                    case Keyboard.SPACE:
                    case Keyboard.PAGE_DOWN:
                        movement = windowSize
                        break
                    case Keyboard.PAGE_UP:
                        movement = -windowSize
                        break
                    case Keyboard.HOME:
                        movement = 0
                        position = 0
                        break
                    case Keyboard.END:
                        movement = 0
                        position = 100
                        break
                    default:
                        return
                scroll()
                dispatchEvent(new ScrollEvent(ScrollEvent.SCROLL, ScrollEvent.KEYBOARD))
            protected function startScrolling(e:*=null):void {
                timer.reset()
                this.addEventListener(Event.ENTER_FRAME, scroll)
                movement = (movement * (LINES_PER_SECOND * PIXELS_PER_LINE)) / stage.frameRate
                dispatchEvent(new ScrollEvent(ScrollEvent.CONTINOUS_SCROLL_START, eventOrigin))
            protected function stopScrolling(e:*=null) {
                timer.stop()
                this.removeEventListener(Event.ENTER_FRAME, scroll)
                stage.removeEventListener(KeyboardEvent.KEY_UP, stopScrolling)
                stage.removeEventListener(MouseEvent.MOUSE_UP, stopScrolling)
                dispatchEvent(new ScrollEvent(ScrollEvent.CONTINOUS_SCROLL_STOP, eventOrigin))
                if (partHold) {
                    partHold.removeEventListener(MouseEvent.MOUSE_OUT, stopScrolling)
                    partHold = null
            protected function mouse_onWheelScrollHandler(event:MouseEvent) {
                // The mouse wheel delta arrives inverted
                var delta:int = -event.delta
                movement = delta * PIXELS_PER_LINE
                scroll()
                dispatchEvent(new ScrollEvent(ScrollEvent.SCROLL, ScrollEvent.MOUSE_WHEEL))
            //{ region Slider Drag functions
            protected function startSliderDrag(event:MouseEvent) {
                if (isVertical)
                    mouseOffset = slider.getBounds(this).y - this.mouseY
                else
                    mouseOffset = slider.getBounds(this).x - this.mouseX
                stage.addEventListener(MouseEvent.MOUSE_MOVE, onSliderDrag)
                stage.addEventListener(MouseEvent.MOUSE_UP, stopSliderDrag)
                dispatchEvent(new ScrollEvent(ScrollEvent.SLIDER_DRAG_START, ScrollEvent.SLIDER))
            protected function stopSliderDrag(event:MouseEvent) {
                stage.removeEventListener(MouseEvent.MOUSE_UP, stopSliderDrag)
                stage.removeEventListener(MouseEvent.MOUSE_MOVE, onSliderDrag)
                dispatchEvent(new ScrollEvent(ScrollEvent.SLIDER_DRAG_STOP, ScrollEvent.SLIDER))
            protected function onSliderDrag(event:MouseEvent) {
                if (isVertical) {
                    if (bar.height == slider.height)
                        return
                } else {
                    if (bar.width == slider.width)
                        return
                if (isVertical)
                    position = (this.mouseY + mouseOffset - arrowUp.height) / (bar.height - slider.height)
                else
                    position = (this.mouseX + mouseOffset - arrowUp.width) / (bar.width - slider.width)
            //} endregion
            //{ region Visual functions
            /// Adds all required parts to the scrollbar's display list
            protected function addParts():void {
                setPosition(content, 0, 0, false, false)
                addChild(this.bar)
                addChild(this.arrowUp)
                addChild(this.arrowDown)
                addChild(this.slider)
                addChild(this.content)
             * Updates all parts to fit the new dimensions and positions.
            public function update(e:*= null):void {
                contentBounds = content.getBounds(this)
                updatePartsPositions()
                // Ugly, but updates everything that was not update in the above call based on the content's position and size
                position = position
            protected function updatePartsPositions(event:Event = null):void {
                if (isVertical) {
                    // The parts width is divided by 2 because they will be center aligned
                    var newX:Number = contentBounds.width +
                                contentPadding +
                                Math.max(slider.width, arrowUp.width, arrowDown.width, bar.width) / 2
                    setPosition(arrowUp, newX, 0, true, false)
                    setPosition(bar, newX, arrowUp.height, true, false)
                    setPosition(arrowDown, newX, arrowUp.height + bar.height, true, false)
                    setPosition(slider, newX, null, true, false)
                } else {
                    var newY:Number = contentBounds.height +
                                contentPadding +
                                Math.max(slider.height, arrowUp.height, arrowDown.height, bar.height) / 2
                    setPosition(arrowUp, 0, newY, false, true)
                    setPosition(bar, arrowUp.width, newY, false, true)
                    setPosition(arrowDown, arrowUp.width + bar.width, newY, false, true)
                    setPosition(slider, null, newY, false, true)
                updateMask()
            private function updateMask():void {
                if (content.mask && this.contains(content.mask))
                    removeChild(content.mask)
                var contentMask:Sprite = createWindowMask()
                addChild(contentMask)
                content.mask = contentMask
            protected function setPosition(part:DisplayObject, newX:Object=null, newY:Object=null, alignHorizontal:Boolean=false, alignVertical:Boolean=false):void {
                var bounds:Rectangle = part.getBounds(this)
                if (newX is Number)
                    part.x = int(newX) + (part.x - bounds.x) - ((alignHorizontal) ? bounds.width / 2 : 0)
                if (newY is Number)
                    part.y = int(newY) + (part.y - bounds.y) - ((alignVertical) ? bounds.height / 2 : 0)
            //} endregion
            //{ region Functions to draw parts
            private function createDefaultBar():Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(1)
                image.graphics.beginFill(0xFFFFFF)
                if (isVertical)
                    image.graphics.drawRect(0, 0, DEFAULT_SIDE, windowSize - DEFAULT_SIDE * 2)
                else
                    image.graphics.drawRect(0, 0, windowSize - DEFAULT_SIDE * 2, DEFAULT_SIDE)
                image.graphics.endFill()
                //image.buttonMode = true
                return image
            private function createDefaultArrow(inverted:Boolean):Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(1)
                image.graphics.beginFill(0xBFBFBF)
                image.graphics.drawRect(0, 0, DEFAULT_SIDE, DEFAULT_SIDE)
                image.graphics.endFill()
                image.graphics.lineStyle(3)
                if (isVertical) {
                    if (inverted) {
                        image.graphics.moveTo(4, 4)
                        image.graphics.lineTo(10, 16)
                        image.graphics.lineTo(16, 4)
                    } else {
                        image.graphics.moveTo(4, 16)
                        image.graphics.lineTo(10, 4)
                        image.graphics.lineTo(16, 16)
                } else {
                    if (inverted) {
                        image.graphics.moveTo(4, 4)
                        image.graphics.lineTo(16, 10)
                        image.graphics.lineTo(4, 16)
                    } else {
                        image.graphics.moveTo(16, 4)
                        image.graphics.lineTo(4, 10)
                        image.graphics.lineTo(16, 16)
                image.buttonMode = true
                return image
            private function createDefaultSlider():Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(1)
                image.graphics.beginFill(0xBFBFBF)
                if (isVertical)
                    image.graphics.drawRect(0, 0, DEFAULT_SIDE, windowSize - DEFAULT_SIDE * 2)
                else
                    image.graphics.drawRect(0, 0, windowSize - DEFAULT_SIDE * 2, DEFAULT_SIDE)
                image.graphics.endFill()
                image.buttonMode = true
                return image
            private function createWindowMask():Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(0)
                image.graphics.beginFill(0x000000, 1)
                if (isVertical)
                    image.graphics.drawRect(0, 0, content.width + 1, windowSize)
                else
                    image.graphics.drawRect(0, 0, windowSize, content.width + 1)
                image.graphics.endFill()
                image.alpha = 0
                return image
            //} endregion
    And this is the ScrollEvent AS file:
    package boppreh.ui
        import flash.events.Event;
         * Events related to the Scrollbar class.
         * Author: Lucas Boppre Niehues ([email protected])
         * Date: 09/02/2010
        public class ScrollEvent extends Event
            /// Dispatched when a scroll movement occurs
            public static const SCROLL:String = "scroll"
            /// Dispatched when the user has clicked and is holding an arrow or the bar
            public static const CONTINOUS_SCROLL_START:String = "continous scroll start"
            /// Dispatched when the user has clicked and dropped an arrow or the bar
            public static const CONTINOUS_SCROLL_STOP:String = "continous scroll stop"
            /// Dispatched when the user starts dragging the slider part
            public static const SLIDER_DRAG_START:String = "slider drag start"
            /// Dispatched when the user stops dragging the slider part
            public static const SLIDER_DRAG_STOP:String = "slider drag stop"
            /// Origin type representing the arrow up part
            public static const ARROW_UP:String = "arrow up"
            /// Origin type representing the arrow down part
            public static const ARROW_DOWN:String = "arrow down"
            /// Origin type representing the bar part
            public static const BAR:String = "part"
            /// Origin type representing the slider part
            public static const SLIDER:String = "slider"
            /// Origin type representing the keyboard
            public static const KEYBOARD:String = "keyboard"
            /// Origin type representing the mouse wheel
            public static const MOUSE_WHEEL:String = "mouse wheel"
            public var origin:String
             * Creates a new ScrollEvent object.
             * @param    type    the object type (first group of declared constants)
             * @param    origin    the object that originated the event (second group of declared constants)
            public function ScrollEvent (type:String, origin:String, bubbles:Boolean = false, cancelable:Boolean = false) {
                this.origin = origin
                super(type, bubbles, cancelable)
    Any help would be appreciated. I've been stuck here all day.

  • Help Needed : Setting JDBC Datasource in Crystal XI using Sybase 12.5??

    All,
    We are migrating our systems to the Crystal XI from Crystal 9 Reporting Servers. I need some technical assistance on the Java API ( use of the Datasources) .
    Problem: Currently in Crystal 9 we are using OLEDB datasources to connect to various Sybase 12.5 databases (which is been set programmatically at runtime). After I changed the Java code for getting the report object from the Crystal XI server instead of 9.  I stared facing the dbLogon failed exceptions.. But surprisingly it does work randomly on only one datasource for a given session (AppServer Restart).
    Need Help on Topics:
    1. Is there any different way of configuring/usage the OLEDB datasources for CrXI? or any Java API changes while setting the datasource when using OLEDB?
    2. Configuration required for using Simple JDBC connection (Sybase) instead of OLEDB? Can I get detailed help on this.
    I will prefer using JDBC for CrXI using the Sybase 12.5, but there are very less documentation for how to configure and set databases at runtime.
    Many Thanks in Adv.
    Regards - Sudhir Deshmukh | Solutions Lead

    Hi Sudhir,
    For Building up a connection for OLEDB  we need :
    In order for Crystal Reports to connect to a database through OLE DB, there are some requirements that must be met:
    u2022     The database client software must be installed on the client machine.
    u2022     The client machine must be able to connect to the server from its client software
    u2022     The client softwareu2019s working directory (example. c:\orant\bin) must be in the Windows search path
    u2022     The OLE DB provider must be installed on the local machine.
    We have the connection for crystal reports through OLEDB :
    The process by which Crystal Reports access data from an OLE DB data source consists of these five layers:
    Crystal Reports Layer
    OLE DB Translation Layer
    OLE DB Layer
    DBMS Translation (OLE DB provider) Layer
    Database Layer
    The data translation is similar to the ODBC connection model. Crystal Reports uses CRDB_ADO.DLL to communicate to the OLE DB provider, which communicates to the database. Crystal Reports can connect to any database as long as that database has an OLE DB provider.
    When creating a new report in Crystal Reports, OLE DB data sources are found in the Create New Connection folder with the OLE DB (ADO) connection.
    Regards,
    Naveen.

  • Help needed to take  JSP content to hard copy

    this is what i hav encounterd with..i hav text content in a jsp .that is to be printed in a in a pre printed paper,i only need to print some numbers and text in the page given infornt of the the fields printed in the page.can anyone giv a suggetion.i
    hav no idea how to do it.plse help.thnaks in advance.

    This forum provides a spellchecker in the message editor toolbar. It might help a lot.

  • Help need setting up remote desktop (on a router)

    hey networking pros,
    I have major trouble setting up remote login (remote desktop).
    Specification : OSX tiger, LINKSYS
    now i have managed to use tightVNC and manage remote desktop BUT that was when i was on the same network. Now my laptop lies at home and at school (work) i have windows running and want to access my mac at home. I cant manage to do that. Since i am on a different network and that i have router at home and also i do not use air port express (i use a linksys)
    I need a static ip which in need to know the DNS servers (adelphia dosent give that to me since i am not a business customer). I have enabled port forwarding (5900) i have even set up an an account with dysDNS.org (i dunno how that helped).
    can some one please give me with step by step instruction.
    thanks

    You already have most of what you need, but you do need a little more understanding of what you're doing.
    Keep in mind that the Microsoft Remote Desktop Connection client is one-way only. You can connect from a Mac to a Window XP Professional computer, but not from Windows XP Pro to Mac OS X. What I describe below is how to connect from a Mac on the Internet to a Windows XP Pro computer at home.
    First, Remote Desktop may look like VNC, but it's not the same thing. Therefore, port 5900, which works with VNC, won't work for Remote Desktop. You'll want to port forward 3389 to make this work. When you go to your router and make this port forward entry, you'll enter the IP address of the machine you want to direct all RDC traffic to. This gets the RDC traffic from your router to your computer.
    You went to DynDNS.org to help you find your router on the Internet. The IP address, as you've researched, can change. But if you set up your router to report its IP address to DynDNS then you can always connect to your router by name. You don't have to keep track of your IP address changing. DynDNS will do this for you. This gets the RDC traffic from you to your router.
    So, the steps are:
    1. Set up a DynDNS.org account and you'll give yourself a name such as "myrouter" so that you can use a name like "myrouter.homeip.net" to connect to your home network.
    2. On your router, port forward all incoming Internet 3389 traffic to the IP address and port 3389 of your computer.
    3. On your Windows XP Pro computer (you can't do this with Windows XP Home) enable the Remote Desktop Connection software (right-click My Computer --> Properties --> Remote tab --> select the second checkbox).
    4. From a Mac somewhere on the Internet, open the RDC client and enter the DynDNS name you gave yourself and click the Connect button.
    5. Your Mac will contact DynDNS and get your current IP address.
    6. Your Mac will then connect to your home router, which will forward all RDC traffic (coming in on port 3389) to your Windows computer in your home.
    Hope this helps! bill
    1 GHz Powerbook G4   Mac OS X (10.4.4)  

  • Help needed setting up printParams in c#

    I am trying to setup a automated print to PDF file setting from within my C# .net application. I have made good progress with setting up the needed code but i am unable to set the right printParams to pass the reader to print the PDF to a new PDF file by giving it a file name in the printParams.
    I user Adobe Professional 9.0 and .net 3.5
    Below is the code i have. Running these params gives me a exception. I have comments above each param. Any help is appreciated.
                                     //binaryOK,bitmapDPI,booklet,colorOverride,colorProfile,downloadFarEastFonts,
    object[] printParams = { true, 300, null, 1, "Printer/PostScript Color Management", false,
                                           //fileName,firstPage,flags,fontPolicy,gradientDPI,interactive,lastPage,nUpAutoRotate
                                           "TestPrintJs.pdf", 0, 0, 0, 150, 0, _pdDoc.GetNumPages() -1,false,
                                           //nUpNumPagesH,nUpNumPagesV,nUpPageBorder,nUpPageOrder,pageHandling,pageSubset,printAsIma ge
                                           2,2,false,0,0,0,false,
                                           //printContent,printerName,psLevel,rasterFlags,reversePages,titleLabel,tileMark,tileOverl ap,tileScale,
                                           0,String.Empty,0,0,false,false,0,0,1.0,
                                           //transperencyLevel,usePrinterCRD,useT1Conversion
                                           100,0,0};
    T.InvokeMember(
                        "print",
                        BindingFlags.InvokeMethod |
                        BindingFlags.Public |
                        BindingFlags.Instance,
                        null, jsObj, printParams);

    What led you to believe that is the order in which arguments will be processed?  There is no defined order, and it's certainly not alphabetic.  Print is expecting an object with named properties that it can reference - not simply an ordered array.

  • Help needed setting up an accelerometer via serial port

    Hoping you might be able to give me some advice and point me in the right direction as my experience with labview is limited.
    I am wanting to read data from an accelerometer streaming through a serial port. Using the labview examples i have no problems in connecting to the device and seeing the data but i am going around in circles trying to work out where to from now.  
    I need to create a VI which would show data streaming and then gives the user the ability to save data for various time periods to a text file. I am getting stuck as the data from the accelerometer is constantly streaming in 20byte packets every 2ms in the following format: 7E 00 0E 83 00 00 26 00 01 0E 00 02 00 01 F9 02 64 E5, where 00 02 01 F9  02 64 is the data of interest and of course when starting to read from the device it isnt necessary going to begin at the start of the packet.
    I am assuming that inside the while loop i need to get the vi to scan the string to find the start of the first packet and then begin writing it to an array using a shift register for each sample with the left over from the string if not reading the full packet being attached to the next read, then if the data is to be saved to a txt file get it to enter a for loop for the user to define the number of samples to be saved or use an index array option to save a subset of data to a txt file.
    Would greatly appreciate any device or examples of the most efficient way to set this up before i lose my sanity!  

    The easy way is a three step process.
    First, acquire 2n-1 bytes (39 in your case) so you are sure you have a full set of data.  Parse out the first full set using the string utilities (match pattern, split string, etc.).  The remainder of the string is the start of your next data set.
    Second, acquire enough points to get the next data set and parse it.
    Third, continue looping and getting 20 bytes (keep verifying your start and end so you know if there are glitches).
    A harder, but far more robust, way, is the following:
    Read in data until you get your start sequence.  A circular buffer would be useful for this (you will need to implement this yourself).
    Read in your data of interest and record/save/...
    Read in the terminator.
    Repeat as needed.
    For all of these, you can use a flat sequence in a loop, but a state machine is far easier and more flexible in the long run.  Check out the LabVIEW help and these forums for how to create and use a state machine.
    It is often easier to use arrays of U8s instead of strings for this type of data manipulation.  Under the hood, they are the same thing, so the conversions between the two are highly efficient.
    Let us know about any problems you run into.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Help needed setting up access point to public network

    Hi from a newbie,
    Assuming they are suitable, I want to use one (or two) AP1232AG-E-K9 access points for Internet connection through a public wireless network (BTFON), where wire broadband is not an option. I've downloaded what I think is the correct manual for the APs and I'm now scratching my head as to where and how to start setting them up. I want to use these Cisco APs in the hope they will give me better wireless performance than I'm currently getting, which is frequently flakey.
    I've tried to reset the APs to the factory default but there seem to be different ways of doing this depending on what you want and what you've got. I made up a console cable  to access the console but there even appear to be different versions of  this so I'm not sure if the cable I have is the correct one.
    I have setup and used lower end wireless devices in the past but these Cisco units seem real complicated and I'm going to need help in getting them working.
    Any assistance would be much appreciated.
    Kind regards,
    Glenn.

    Updated network diagram.

  • Help needed setting specific date in GregorianCalendar object?

    Hi All!
    I have set SimpleTimeZone object in GregorianCalendar object. How can I set a new date to the GregorianCalendar object, such that i can find DAY_OF_YEAR specific to this date's day?
    URGENT replies will be appreciated!

    Thanks for ur reply!
    but the problem is that i have to create a method:
    public int getDayOfYear(int day, int month, int year)
    return day_of_the year;
    This method should accept user specified day, month and year and passes to GregorianCalendar/Calendar object. I need want to get DAY_OF_YEAR value from Calendar.DAY_OF_YEAR which it will provide, but the change is not affecting!
    ACTUAL CODE
    ===========
    public static double getDayofYear(int hr, int min, int sec)
    String[] ids = TimeZone.getAvailableIDs(5 * 60 * 60 * 1000);
    SimpleTimeZone pdt = new SimpleTimeZone(5 * 60 * 60 * 1000, ids[0]);      
    for (int i=0; i<ids.length; i++)
    System.out.println (ids);
    //setting DLS start and end rule
    pdt.setStartRule(Calendar.MAY, 1, Calendar.SUNDAY, 00 * 60 * 60 * 1000);
    pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 00 * 60 * 60 * 1000);
    Calendar calendar = new GregorianCalendar(pdt);
    //Date trialTime = new Date();//SET DATE
    //calendar.setTime(trialTime);
    calendar.set(Calendar.HOUR,hr);
    calendar.set(Calendar.MINUTE,min);
    calendar.set(Calendar.SECOND,sec);
    return ((double) calendar.get(Calendar.DAY_OF_YEAR));          
    This method is giving true output for today [2nd Dec. 2002 -> 336], but only when it accepts current time, not date. Also giving same output on changing arguments!
    Hoping ur help!

  • Help needed setting up WebUI for Wireless Gateway

    I have a problem setting up a webUI for my demo project.
    I am just doing a simple WSN application measuring temperature on a WSN-3121 thermocouple node, and logging it on a wireless RT gateway NI 9792.
    Then I wanted to create a web UI for it, and display whats in the gateway's UI - see project.
    SO I'm coming up stuck with the web UI.  I've tried reading as much as I can but I still dont know what I'm doing wrong.
    As far as I can see, I need to create a web service in the build specs for my gateway, and place the gateway_main.vi as the vi to use.  Then build it, and deploy it.  Once that has happened and I run the vi on the gateway, I created a webUI as shown in the pic, where it imports the web service from the gateway using 192.168.0.16:8080 - that works fine.
    When I run the webUI, it just sits there and times out.
    I am using LAbview 2010.  Please help.
    Solved!
    Go to Solution.
    Attachments:
    Straight Temperature Monitor.zip ‏2152 KB
    webUIsetup.jpg ‏75 KB

    Hello markza,
    Your approach to using Web UI Builder and understanding its use case is exactly right, the issue lies in the web service you have deployed. The VI you are building as a web service, i.e. gateway_main.vi, has while loops in it and hence cannot be used as a web service. The reason for the timeout is that your UI Builder app is calling the LV2010 web service and is getting stuck there waiting for the while loops to complete. Also, the cluster datatype is not supported in Web UI Builder so you would have to break up the Wireless Node Sampling Time input into two separate numeric inputs.
    I would recommend creating a subVI out of your code inside the inner while loop in gateway_main.vi. This subVI should have two numeric inputs to replace the cluster (as mentioned above) and not have either of the Start or Stop boolean inputs. Outputs would stay the same i.e. two doubles and a boolean.
    Let me know if that helps you and if you have any further questions.
    Thanks!
    Diya Jakkidi
    LabVIEW Web UI Builder R&D

  • Help needed setting up cluster communication network

    Hi,
    I need some help setting up a two node cluster communication network.
    I have two virtual Servers each with four virtual nics.
    I want to create a network for:
    Management
    Heartbeat
    Live Migration
    iSCSI
    What type of switch would I need to create for each of them? (External/Internal/Private)
    I presume that they would all have to be external as they will have to be able to communicate with the other host in the cluster through the physical network.
    Would I need to configure VLANs on the physical switch to keep the traffic isolated?
    Thanks

    That's all. I don't see any reason to create 4th node. Regarding the iSCSI target - for the test you can install this one
    https://www.starwindsoftware.com/starwind-virtual-san-free on the Hyper-V host which can create iSCSI disks. Just create Internal network for the iSCSI traffic (add third adapter to the
    FS nodes of course) which is providing network visibility between the VMs and the hypervisor. (you can use the external network too of course).
    Regarding the live migration - this is something you cannot test with single hyper-v host. You'll need at least two. You can try ESX which can expose virtualization instructions to the VMs and create two Hyper-V VM to test live migration.
    1) It's actually possible to install StarWind Virtual SAN on the same hosts where hypervisor (in this case Hyper-V) runs. That would build so-called hyper-converged setup, something Microsoft is going to represent with Windows Server 2016 (vNext) and Storage
    Spaces Direct. Except MSFT requires at least 4 nodes and StarWind can do 2 and 3 :)
    2) All hypervisors except Hyper-V do support "nested" virtualization these days. So for very lean labs f.e. ESXi sounds like a better choice.
    Cheers,
    Anton Kolomyeytsev [MVP]
    StarWind Software Chief Architect
    Profile:  
    Blog:  
    Twitter:  
    LinkedIn:  
    Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.
    Hi VR38DETT,
    I may need your help with a couple of Starwind Virtual SAN questions.
    Thanks

  • Help needed setting-up a Y-Cam on a WRT54GS

    Has anybody set up a Y-Cam Knight surveillance camera using a WRT54GS router. I have set one up on my network. All my PC’s see it ok, the problem is I should be able it remotely access it from anywhere in the World with no PC’s on as it has a built in server, but I can’t nor can anybody else that I give my ip address (not the network address) to. I (and others) can access it using my ip address when I have the PC on and I run a third party program WebCamXP 5. It sends out a “movement detected” warning  e-mail to me ok with no PC on, I have done all the setup as directed, static address, port forwarding ect .Has anybody got any ideas on the settings so I can remotely access it.

    In order to Access camera remotely you need to forward ports for your camera on the router . And also make sure that the wanip address on router should be public.

Maybe you are looking for