Ruby API

Hi
I've seen lots of references to using Ruby programming language with Berkeley DB XML, but I've not been able to track down any suitable resources for this.
I did look at http://rdbxml.rubyforge.org/, but so far as I can tell this will not work for WinXP OS.
Is anyone working with Berkeley DB XML with Ruby on WinXP, and if so, how did you do it?
Thx
Jason

Jason,
There are two wrapper interfaces that I'm aware of. Both use SWIG to generate the interfaces. I can't comment on the completeness or usability of either, not having used them.
http://rdbxml.rubyforge.org/
http://raa.ruby-lang.org/project/bdb/
You mentioned that one won't work on windows. I suspect that if you can use SWIG to generate the interfaces, you might be able to compile/run on windows.
If you experiment, and have an opinion on either of these, please post your experience.
Regards,
George

Similar Messages

  • Ruby Script API or documentation

    Hello,
    can I use the full scope of ruby in the UI-Designer?
    If not, is there any documentation of functionality (create new associations...etc.)?
    Best regards,
    Andreas

    Hi,
    the Ruby used in scripting ("SAP Ruby") is NOT a complete implementation of Ruby. It is just a scripting language with a syntax similar to Ruby.
    Documentation of the UI designer and scripting is planned for FP2.6 but is not yet available.
    For the time being we have some How tos in the following Wiki page 
    [https://www.sme.sap.com/irj/sme/community/collaboration/wiki?path=/display/AMI/BestPracticefor+Implementations]
    to show some working examples. If an example is missing, please let us know. We will then enhance the collection.
    Regards,
    Thomas
    Backoffice Early Partner Program

  • Looking for an api to provide timing support for a music app

    Hey folks, new member says Hi !
    I was wondering if this would fit better here or in the multimedia section, but here goes :
    I've been thinking about some music sequencing ideas that I'd like to implement in ruby.
    However, the language has poor runtime performance and won't cut it if it has to handle the timing-critical processing.
    So I was wondering if I could possibly design it in a way that would rely on a lower level api to provide clock info.
    I've read a bit about jack, and at first glance, it seems reasonable to think that I could develop my application model in ruby and have it register as a jack client (provided I manage to make a  proper bridge for it), to fire up events in a timely manner. Same with alsa, which seems to have a special timer api.
    But I'm new to this (even linux itself), so it's a lot of info to get one's head around.
    I'd love to hear from some people who've had experience developing with these sort of musical/osc/midi apis, and maybe could give some insights regarding whether this is doable, and maybe some pointers on what to investigate.
    cheers !

    I'm not sure I completely follow you with the "privilege".
    To answer your question, yes, you may enhance behaviour of standard services such as CHECKIN_UNIVERSAL via so called "filters". Filters are Java pieces of code, that might be hooked to "filter events" such as validateCheckinData. When a service is being processed, the filter code is triggered on that event automatically.
    However, the checkin services already contain a security check (it calls a Java method from the standard code), and it will do checks like "can this user check in a document with such a security group?" or "does this folder exist?", no extra code needed. So, I'm not sure what your enhancement would do additional.

  • Photoshop: Character styles API

    Hello,
    Is there any way how I can access Character styles of a text layer (i.e. bolded out words etc.) via either Extendscript or via com-object - I can't figure it out, can I change only the Layer style itself?
    Thank you very much!

    Like c.pfaffenbichler said, it takes some AM code to do this kind of text-related stuff.
    Make a minor change to the text layer then run this script: http://ps-scripts.cvs.sourceforge.net/viewvc/ps-scripts/xtools/apps/LastLogEntry.jsx
    To clean the code up, press Fix.
    You'll get code that looks something like this:
    function ftn1() {
      function cTID(s) { return app.charIDToTypeID(s); };
      function sTID(s) { return app.stringIDToTypeID(s); };
        var desc69 = new ActionDescriptor();
            var ref9 = new ActionReference();
            ref9.putEnumerated( cTID('TxLr'), cTID('Ordn'), cTID('Trgt') );
        desc69.putReference( cTID('null'), ref9 );
            var desc70 = new ActionDescriptor();
            desc70.putString( cTID('Txt '), "This is a test.  This is another test." );
                var desc71 = new ActionDescriptor();
                desc71.putEnumerated( sTID('warpStyle'), sTID('warpStyle'), sTID('warpNone') );
                desc71.putDouble( sTID('warpValue'), 0.000000 );
                desc71.putDouble( sTID('warpPerspective'), 0.000000 );
                desc71.putDouble( sTID('warpPerspectiveOther'), 0.000000 );
                desc71.putEnumerated( sTID('warpRotate'), cTID('Ornt'), cTID('Hrzn') );
            desc70.putObject( sTID('warp'), sTID('warp'), desc71 );
            desc70.putEnumerated( sTID('textGridding'), sTID('textGridding'), cTID('None') );
            desc70.putEnumerated( cTID('Ornt'), cTID('Ornt'), cTID('Hrzn') );
            desc70.putEnumerated( cTID('AntA'), cTID('Annt'), cTID('AnCr') );
                var desc72 = new ActionDescriptor();
                desc72.putUnitDouble( cTID('Left'), cTID('#Pxl'), -0.071411 );
                desc72.putUnitDouble( cTID('Top '), cTID('#Pxl'), -60.264404 );
                desc72.putUnitDouble( cTID('Rght'), cTID('#Pxl'), 999.770142 );
                desc72.putUnitDouble( cTID('Btom'), cTID('#Pxl'), 18.000000 );
            desc70.putObject( sTID('bounds'), sTID('bounds'), desc72 );
                var desc73 = new ActionDescriptor();
                desc73.putUnitDouble( cTID('Left'), cTID('#Pxl'), 0.301224 );
                desc73.putUnitDouble( cTID('Top '), cTID('#Pxl'), -50.937546 );
                desc73.putUnitDouble( cTID('Rght'), cTID('#Pxl'), 997.710938 );
                desc73.putUnitDouble( cTID('Btom'), cTID('#Pxl'), 1.000015 );
            desc70.putObject( sTID('boundingBox'), sTID('boundingBox'), desc73 );
                var list13 = new ActionList();
                    var desc74 = new ActionDescriptor();
                    desc74.putEnumerated( cTID('TEXT'), cTID('TEXT'), cTID('Pnt ') );
                    desc74.putEnumerated( cTID('Ornt'), cTID('Ornt'), cTID('Hrzn') );
                        var desc75 = new ActionDescriptor();
                        desc75.putDouble( sTID('xx'), 1.000000 );
                        desc75.putDouble( sTID('xy'), 0.000000 );
                        desc75.putDouble( sTID('yx'), 0.000000 );
                        desc75.putDouble( sTID('yy'), 1.000000 );
                        desc75.putDouble( sTID('tx'), 0.000000 );
                        desc75.putDouble( sTID('ty'), 0.000000 );
                    desc74.putObject( cTID('Trnf'), cTID('Trnf'), desc75 );
                    desc74.putInteger( sTID('rowCount'), 1 );
                    desc74.putInteger( sTID('columnCount'), 1 );
                    desc74.putBoolean( sTID('rowMajorOrder'), true );
                    desc74.putUnitDouble( sTID('rowGutter'), cTID('#Pxl'), 0.000000 );
                    desc74.putUnitDouble( sTID('columnGutter'), cTID('#Pxl'), 0.000000 );
                    desc74.putUnitDouble( cTID('Spcn'), cTID('#Pxl'), 0.000000 );
                    desc74.putEnumerated( sTID('frameBaselineAlignment'), sTID('frameBaselineAlignment'), sTID('alignByAscent') );
                    desc74.putUnitDouble( sTID('firstBaselineMinimum'), cTID('#Pxl'), 0.000000 );
                        var desc76 = new ActionDescriptor();
                        desc76.putDouble( cTID('Hrzn'), 0.000000 );
                        desc76.putDouble( cTID('Vrtc'), 0.000000 );
                    desc74.putObject( sTID('base'), cTID('Pnt '), desc76 );
                list13.putObject( sTID('textShape'), desc74 );
            desc70.putList( sTID('textShape'), list13 );
                var list14 = new ActionList();
                    var desc77 = new ActionDescriptor();
                    desc77.putInteger( cTID('From'), 0 );
                    desc77.putInteger( cTID('T  '), 15 );
                        var desc78 = new ActionDescriptor();
                        desc78.putBoolean( sTID('styleSheetHasParent'), true );
                        desc78.putUnitDouble( cTID('Sz  '), cTID('#Pxl'), 72.000000 );
                        desc78.putUnitDouble( sTID('impliedFontSize'), cTID('#Pxl'), 72.000000 );
                        desc78.putEnumerated( sTID('digitSet'), sTID('digitSet'), sTID('defaultDigits') );
                        desc78.putUnitDouble( sTID('markYDistFromBaseline'), cTID('#Pxl'), 100.000000 );
                            var desc79 = new ActionDescriptor();
                            desc79.putDouble( cTID('Rd  '), 255.000000 );
                            desc79.putDouble( cTID('Grn '), 0.000000 );
                            desc79.putDouble( cTID('Bl  '), 0.000000 );
                        desc78.putObject( cTID('Clr '), cTID('RGBC'), desc79 );
                            var desc80 = new ActionDescriptor();
                            desc80.putString( sTID('fontPostScriptName'), "MyriadPro-Regular" );
                            desc80.putString( cTID('FntN'), "Myriad Pro" );
                            desc80.putString( cTID('FntS'), "Regular" );
                            desc80.putInteger( cTID('Scrp'), 0 );
                            desc80.putInteger( cTID('FntT'), 0 );
                            desc80.putUnitDouble( cTID('Sz  '), cTID('#Pxl'), 12.000000 );
                            desc80.putUnitDouble( sTID('impliedFontSize'), cTID('#Pxl'), 12.000000 );
                            desc80.putDouble( cTID('HrzS'), 100.000000 );
                            desc80.putDouble( cTID('VrtS'), 100.000000 );
                            desc80.putBoolean( sTID('syntheticBold'), false );
                            desc80.putBoolean( sTID('syntheticItalic'), false );
                            desc80.putBoolean( sTID('autoLeading'), true );
                            desc80.putInteger( cTID('Trck'), 0 );
                            desc80.putUnitDouble( cTID('Bsln'), cTID('#Pxl'), 0.000000 );
                            desc80.putUnitDouble( sTID('impliedBaselineShift'), cTID('#Pxl'), 0.000000 );
                            desc80.putDouble( sTID('characterRotation'), 0.000000 );
                            desc80.putEnumerated( cTID('AtKr'), cTID('AtKr'), sTID('metricsKern') );
                            desc80.putEnumerated( sTID('fontCaps'), sTID('fontCaps'), cTID('Nrml') );
                            desc80.putEnumerated( sTID('digitSet'), sTID('digitSet'), sTID('defaultDigits') );
                            desc80.putEnumerated( sTID('dirOverride'), sTID('dirOverride'), sTID('dirOverrideDefault') );
                            desc80.putEnumerated( sTID('kashidas'), sTID('kashidas'), sTID('kashidaDefault') );
                            desc80.putEnumerated( sTID('diacVPos'), sTID('diacVPos'), sTID('diacVPosOpenType') );
                            desc80.putUnitDouble( sTID('diacXOffset'), cTID('#Pxl'), 0.000000 );
                            desc80.putUnitDouble( sTID('diacYOffset'), cTID('#Pxl'), 0.000000 );
                            desc80.putUnitDouble( sTID('markYDistFromBaseline'), cTID('#Pxl'), 100.000000 );
                            desc80.putEnumerated( sTID('baseline'), sTID('baseline'), cTID('Nrml') );
                            desc80.putEnumerated( sTID('otbaseline'), sTID('otbaseline'), cTID('Nrml') );
                            desc80.putEnumerated( sTID('strikethrough'), sTID('strikethrough'), sTID('strikethroughOff') );
                            desc80.putEnumerated( cTID('Undl'), cTID('Undl'), sTID('underlineOff') );
                            desc80.putUnitDouble( sTID('underlineOffset'), cTID('#Pxl'), 0.000000 );
                            desc80.putBoolean( sTID('ligature'), true );
                            desc80.putBoolean( sTID('altligature'), false );
                            desc80.putBoolean( sTID('contextualLigatures'), false );
                            desc80.putBoolean( sTID('alternateLigatures'), false );
                            desc80.putBoolean( sTID('oldStyle'), false );
                            desc80.putBoolean( sTID('fractions'), false );
                            desc80.putBoolean( sTID('ordinals'), false );
                            desc80.putBoolean( sTID('swash'), false );
                            desc80.putBoolean( sTID('titling'), false );
                            desc80.putBoolean( sTID('connectionForms'), false );
                            desc80.putBoolean( sTID('stylisticAlternates'), false );
                            desc80.putBoolean( sTID('ornaments'), false );
                            desc80.putBoolean( sTID('justificationAlternates'), false );
                            desc80.putEnumerated( sTID('figureStyle'), sTID('figureStyle'), cTID('Nrml') );
                            desc80.putBoolean( sTID('proportionalMetrics'), false );
                            desc80.putBoolean( sTID('kana'), false );
                            desc80.putBoolean( sTID('italics'), false );
                            desc80.putBoolean( sTID('ruby'), false );
                            desc80.putEnumerated( sTID('baselineDirection'), sTID('baselineDirection'), sTID('rotated') );
                            desc80.putEnumerated( sTID('textLanguage'), sTID('textLanguage'), sTID('englishLanguage') );
                            desc80.putEnumerated( sTID('japaneseAlternate'), sTID('japaneseAlternate'), sTID('defaultForm') );
                            desc80.putDouble( sTID('mojiZume'), 0.000000 );
                            desc80.putEnumerated( sTID('gridAlignment'), sTID('gridAlignment'), sTID('roman') );
                            desc80.putBoolean( sTID('enableWariChu'), false );
                            desc80.putInteger( sTID('wariChuCount'), 2 );
                            desc80.putInteger( sTID('wariChuLineGap'), 0 );
                            desc80.putDouble( sTID('wariChuScale'), 0.500000 );
                            desc80.putInteger( sTID('wariChuWidow'), 2 );
                            desc80.putInteger( sTID('wariChuOrphan'), 2 );
                            desc80.putEnumerated( sTID('wariChuJustification'), sTID('wariChuJustification'), sTID('wariChuAutoJustify') );
                            desc80.putInteger( sTID('tcyUpDown'), 0 );
                            desc80.putInteger( sTID('tcyLeftRight'), 0 );
                            desc80.putDouble( sTID('leftAki'), -1.000000 );
                            desc80.putDouble( sTID('rightAki'), -1.000000 );
                            desc80.putInteger( sTID('jiDori'), 0 );
                            desc80.putBoolean( sTID('noBreak'), false );
                                var desc81 = new ActionDescriptor();
                                desc81.putDouble( cTID('Rd  '), 0.000000 );
                                desc81.putDouble( cTID('Grn '), 0.000000 );
                                desc81.putDouble( cTID('Bl  '), 0.000000 );
                            desc80.putObject( cTID('Clr '), cTID('RGBC'), desc81 );
                                var desc82 = new ActionDescriptor();
                                desc82.putDouble( cTID('Rd  '), 0.000000 );
                                desc82.putDouble( cTID('Grn '), 0.000000 );
                                desc82.putDouble( cTID('Bl  '), 0.000000 );
                            desc80.putObject( sTID('strokeColor'), cTID('RGBC'), desc82 );
                            desc80.putBoolean( cTID('Fl  '), true );
                            desc80.putBoolean( cTID('Strk'), false );
                            desc80.putBoolean( sTID('fillFirst'), true );
                            desc80.putBoolean( sTID('fillOverPrint'), false );
                            desc80.putBoolean( sTID('strokeOverPrint'), false );
                            desc80.putEnumerated( sTID('lineCap'), sTID('lineCap'), sTID('buttCap') );
                            desc80.putEnumerated( sTID('lineJoin'), sTID('lineJoin'), sTID('miterJoin') );
                            desc80.putUnitDouble( sTID('lineWidth'), cTID('#Pxl'), 1.000000 );
                            desc80.putUnitDouble( sTID('miterLimit'), cTID('#Pxl'), 4.000000 );
                            desc80.putDouble( sTID('lineDashoffset'), 0.000000 );
                        desc78.putObject( sTID('baseParentStyle'), cTID('TxtS'), desc80 );
                    desc77.putObject( cTID('TxtS'), cTID('TxtS'), desc78 );
                list14.putObject( cTID('Txtt'), desc77 );
                    var desc83 = new ActionDescriptor();
                    desc83.putInteger( cTID('From'), 15 );
                    desc83.putInteger( cTID('T  '), 17 );
                        var desc84 = new ActionDescriptor();
                        desc84.putBoolean( sTID('styleSheetHasParent'), true );
                        desc84.putUnitDouble( cTID('Sz  '), cTID('#Pxl'), 72.000000 );
                        desc84.putUnitDouble( sTID('impliedFontSize'), cTID('#Pxl'), 72.000000 );
                        desc84.putEnumerated( sTID('digitSet'), sTID('digitSet'), sTID('defaultDigits') );
                        desc84.putUnitDouble( sTID('markYDistFromBaseline'), cTID('#Pxl'), 100.000000 );
                    desc83.putObject( cTID('TxtS'), cTID('TxtS'), desc84 );
                list14.putObject( cTID('Txtt'), desc83 );
                    var desc85 = new ActionDescriptor();
                    desc85.putInteger( cTID('From'), 17 );
                    desc85.putInteger( cTID('T  '), 37 );
                        var desc86 = new ActionDescriptor();
                        desc86.putBoolean( sTID('styleSheetHasParent'), true );
                        desc86.putString( sTID('fontPostScriptName'), "MyriadPro-BoldIt" );
                        desc86.putString( cTID('FntN'), "Myriad Pro" );
                        desc86.putString( cTID('FntS'), "Bold Italic" );
                        desc86.putInteger( cTID('Scrp'), 0 );
                        desc86.putInteger( cTID('FntT'), 0 );
                        desc86.putUnitDouble( cTID('Sz  '), cTID('#Pxl'), 72.000000 );
                        desc86.putUnitDouble( sTID('impliedFontSize'), cTID('#Pxl'), 72.000000 );
                        desc86.putEnumerated( sTID('digitSet'), sTID('digitSet'), sTID('defaultDigits') );
                        desc86.putUnitDouble( sTID('markYDistFromBaseline'), cTID('#Pxl'), 100.000000 );
                    desc85.putObject( cTID('TxtS'), cTID('TxtS'), desc86 );
                list14.putObject( cTID('Txtt'), desc85 );
                    var desc87 = new ActionDescriptor();
                    desc87.putInteger( cTID('From'), 37 );
                    desc87.putInteger( cTID('T  '), 39 );
                        var desc88 = new ActionDescriptor();
                        desc88.putBoolean( sTID('styleSheetHasParent'), true );
                        desc88.putUnitDouble( cTID('Sz  '), cTID('#Pxl'), 72.000000 );
                        desc88.putUnitDouble( sTID('impliedFontSize'), cTID('#Pxl'), 72.000000 );
                        desc88.putEnumerated( sTID('digitSet'), sTID('digitSet'), sTID('defaultDigits') );
                        desc88.putUnitDouble( sTID('markYDistFromBaseline'), cTID('#Pxl'), 100.000000 );
                    desc87.putObject( cTID('TxtS'), cTID('TxtS'), desc88 );
                list14.putObject( cTID('Txtt'), desc87 );
            desc70.putList( cTID('Txtt'), list14 );
                var list15 = new ActionList();
                    var desc89 = new ActionDescriptor();
                    desc89.putInteger( cTID('From'), 0 );
                    desc89.putInteger( cTID('T  '), 39 );
                        var desc90 = new ActionDescriptor();
                        desc90.putBoolean( sTID('styleSheetHasParent'), true );
                        desc90.putEnumerated( cTID('Algn'), cTID('Alg '), cTID('Left') );
                        desc90.putUnitDouble( sTID('firstLineIndent'), cTID('#Pxl'), 0.000000 );
                        desc90.putUnitDouble( sTID('impliedFirstLineIndent'), cTID('#Pxl'), 0.000000 );
                        desc90.putUnitDouble( sTID('startIndent'), cTID('#Pxl'), 0.000000 );
                        desc90.putUnitDouble( sTID('impliedStartIndent'), cTID('#Pxl'), 0.000000 );
                        desc90.putUnitDouble( sTID('endIndent'), cTID('#Pxl'), 0.000000 );
                        desc90.putUnitDouble( sTID('impliedEndIndent'), cTID('#Pxl'), 0.000000 );
                        desc90.putUnitDouble( sTID('spaceBefore'), cTID('#Pxl'), 0.000000 );
                        desc90.putUnitDouble( sTID('impliedSpaceBefore'), cTID('#Pxl'), 0.000000 );
                        desc90.putUnitDouble( sTID('spaceAfter'), cTID('#Pxl'), 0.000000 );
                        desc90.putUnitDouble( sTID('impliedSpaceAfter'), cTID('#Pxl'), 0.000000 );
                        desc90.putInteger( sTID('dropCapMultiplier'), 1 );
                        desc90.putDouble( sTID('autoLeadingPercentage'), 1.200000 );
                        desc90.putEnumerated( sTID('leadingType'), sTID('leadingType'), sTID('leadingBelow') );
                        desc90.putEnumerated( sTID('directionType'), sTID('directionType'), sTID('dirLeftToRight') );
                        desc90.putEnumerated( sTID('kashidaWidthType'), sTID('kashidaWidthType'), sTID('kashidaWidthMedium') );
                        desc90.putEnumerated( sTID('justificationMethodType'), sTID('justificationMethodType'), sTID('justifMethodAutomatic') );
                        desc90.putBoolean( sTID('hyphenate'), true );
                        desc90.putInteger( sTID('hyphenateWordSize'), 6 );
                        desc90.putInteger( sTID('hyphenatePreLength'), 2 );
                        desc90.putInteger( sTID('hyphenatePostLength'), 2 );
                        desc90.putInteger( sTID('hyphenateLimit'), 0 );
                        desc90.putDouble( sTID('hyphenationZone'), 36.000000 );
                        desc90.putBoolean( sTID('hyphenateCapitalized'), true );
                        desc90.putDouble( sTID('hyphenationPreference'), 0.500000 );
                        desc90.putDouble( sTID('justificationWordMinimum'), 0.800000 );
                        desc90.putDouble( sTID('justificationWordDesired'), 1.000000 );
                        desc90.putDouble( sTID('justificationWordMaximum'), 1.330000 );
                        desc90.putDouble( sTID('justificationLetterMinimum'), 0.000000 );
                        desc90.putDouble( sTID('justificationLetterDesired'), 0.000000 );
                        desc90.putDouble( sTID('justificationLetterMaximum'), 0.000000 );
                        desc90.putDouble( sTID('justificationGlyphMinimum'), 1.000000 );
                        desc90.putDouble( sTID('justificationGlyphDesired'), 1.000000 );
                        desc90.putDouble( sTID('justificationGlyphMaximum'), 1.000000 );
                        desc90.putEnumerated( sTID('singleWordJustification'), cTID('Alg '), cTID('JstA') );
                        desc90.putBoolean( sTID('hangingRoman'), false );
                        desc90.putInteger( sTID('autoTCY'), 0 );
                        desc90.putBoolean( sTID('keepTogether'), true );
                        desc90.putEnumerated( sTID('burasagari'), sTID('burasagari'), sTID('burasagariNone') );
                        desc90.putEnumerated( sTID('preferredKinsokuOrder'), sTID('preferredKinsokuOrder'), sTID('pushIn') );
                        desc90.putBoolean( sTID('kurikaeshiMojiShori'), false );
                        desc90.putBoolean( sTID('textEveryLineComposer'), false );
                        desc90.putDouble( sTID('defaultTabWidth'), 36.000000 );
                            var desc91 = new ActionDescriptor();
                            desc91.putString( sTID('fontPostScriptName'), "MyriadPro-Regular" );
                            desc91.putString( cTID('FntN'), "Myriad Pro" );
                            desc91.putString( cTID('FntS'), "Regular" );
                            desc91.putInteger( cTID('Scrp'), 0 );
                            desc91.putInteger( cTID('FntT'), 0 );
                            desc91.putUnitDouble( cTID('Sz  '), cTID('#Pxl'), 12.000000 );
                            desc91.putDouble( cTID('HrzS'), 100.000000 );
                            desc91.putDouble( cTID('VrtS'), 100.000000 );
                            desc91.putBoolean( sTID('syntheticBold'), false );
                            desc91.putBoolean( sTID('syntheticItalic'), false );
                            desc91.putBoolean( sTID('autoLeading'), true );
                            desc91.putInteger( cTID('Trck'), 0 );
                            desc91.putUnitDouble( cTID('Bsln'), cTID('#Pxl'), 0.000000 );
                            desc91.putDouble( sTID('characterRotation'), 0.000000 );
                            desc91.putEnumerated( cTID('AtKr'), cTID('AtKr'), sTID('metricsKern') );
                            desc91.putEnumerated( sTID('fontCaps'), sTID('fontCaps'), cTID('Nrml') );
                            desc91.putEnumerated( sTID('digitSet'), sTID('digitSet'), sTID('arabicDigits') );
                            desc91.putEnumerated( sTID('kashidas'), sTID('kashidas'), sTID('kashidaDefault') );
                            desc91.putEnumerated( sTID('diacVPos'), sTID('diacVPos'), sTID('diacVPosOpenType') );
                            desc91.putUnitDouble( sTID('diacXOffset'), cTID('#Pxl'), 0.000000 );
                            desc91.putUnitDouble( sTID('diacYOffset'), cTID('#Pxl'), 0.000000 );
                            desc91.putUnitDouble( sTID('markYDistFromBaseline'), cTID('#Pxl'), 0.000000 );
                            desc91.putEnumerated( sTID('baseline'), sTID('baseline'), cTID('Nrml') );
                            desc91.putEnumerated( sTID('strikethrough'), sTID('strikethrough'), sTID('strikethroughOff') );
                            desc91.putEnumerated( cTID('Undl'), cTID('Undl'), sTID('underlineOff') );
                            desc91.putBoolean( sTID('ligature'), true );
                            desc91.putBoolean( sTID('altligature'), false );
                            desc91.putBoolean( sTID('contextualLigatures'), true );
                            desc91.putBoolean( sTID('alternateLigatures'), false );
                            desc91.putBoolean( sTID('oldStyle'), false );
                            desc91.putBoolean( sTID('fractions'), false );
                            desc91.putBoolean( sTID('ordinals'), false );
                            desc91.putBoolean( sTID('swash'), false );
                            desc91.putBoolean( sTID('titling'), false );
                            desc91.putBoolean( sTID('connectionForms'), false );
                            desc91.putBoolean( sTID('stylisticAlternates'), false );
                            desc91.putBoolean( sTID('ornaments'), false );
                            desc91.putEnumerated( sTID('figureStyle'), sTID('figureStyle'), cTID('Nrml') );
                            desc91.putEnumerated( sTID('baselineDirection'), sTID('baselineDirection'), sTID('withStream') );
                            desc91.putEnumerated( sTID('textLanguage'), sTID('textLanguage'), sTID('englishLanguage') );
                                var desc92 = new ActionDescriptor();
                                desc92.putDouble( cTID('Rd  '), 0.000000 );
                                desc92.putDouble( cTID('Grn '), 0.000000 );
                                desc92.putDouble( cTID('Bl  '), 0.000000 );
                            desc91.putObject( cTID('Clr '), cTID('RGBC'), desc92 );
                                var desc93 = new ActionDescriptor();
                                desc93.putDouble( cTID('Rd  '), 0.000000 );
                                desc93.putDouble( cTID('Grn '), 0.000000 );
                                desc93.putDouble( cTID('Bl  '), 0.000000 );
                            desc91.putObject( sTID('strokeColor'), cTID('RGBC'), desc93 );
                        desc90.putObject( sTID('defaultStyle'), cTID('TxtS'), desc91 );
                    desc89.putObject( sTID('paragraphStyle'), sTID('paragraphStyle'), desc90 );
                list15.putObject( sTID('paragraphStyleRange'), desc89 );
            desc70.putList( sTID('paragraphStyleRange'), list15 );
                var list16 = new ActionList();
            desc70.putList( sTID('kerningRange'), list16 );
        desc69.putObject( cTID('T  '), cTID('TxLr'), desc70 );
        executeAction( cTID('setd'), desc69, DialogModes.NO );
    This code describes how a Text Layer ActionDescriptor is laid out. It has one section of text that is red and another section that is bold-italic so there are two style ranges.
    The code to get the Text Layer descriptor is this simple:
    function getLayerDescriptor() {
      var ref = new ActionReference();
      ref.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
      return executeActionGet(ref)
    This bit of code assumes that the document and layer are active/selected. But once you have it, the previous block of code shows you how to go in and get the info that you need.
    There is also these bits of code that mucks around with Text/Style Ranges:
    http://ps-scripts.cvs.sourceforge.net/viewvc/ps-scripts/xtools/xlib/Text.jsx
    http://ps-scripts.cvs.sourceforge.net/viewvc/ps-scripts/xtools/xlib/TextTest.jsx
    In other words, futzing around with text styles is not a pretty thing in PS/JS. InDesign has far better Text APIs.

  • Using Ruby in place of Actionscript

    I love flash (design tools, stage / layout concepts, etc.),
    but I hate actionscript. I've been a programmer for about 10 years
    now, programming in everything from C to C#, java, php, perl, ruby,
    and actionscript. Actionscript is by far my least favorite of the
    group. It is a clumsy language (just have a look at the way
    actionscript 2 handled method closures on callbacks) and I'd prefer
    to use another scripting language in place of it for my flash
    development. Ruby would be an excellent replacement, offering
    everything actionscript has to offer (object oriented, event
    handling, etc.) with a number of additional features that come
    through ruby core and the ruby gems (excellent date and time
    libraries, database libraries, file handling libraries, etc.).
    Does anyone with an in-depth knowledge of actionscript and
    flash know what it would take to achieve some sort of common
    language API that would allow such a substitution? If the ruby on
    rails guys came across a solution allowing them to leverage the
    benefits of ruby (superior language to actionscript) with the
    benefits of the flash platform (superior visual control to
    html/ajax), flash would be unstoppable.

    ryanmohr,
    > The actionscript developers seem to enjoy leaving the
    > core libs unfinished so others can produce utility
    classes
    > to finish the job they should have done on their own.
    Again, fair enough. :) On the other hand, regarding the
    missing String
    manipulation utilities ...
    > but why not just offer it built in? It would take what,
    a
    > full five minutes for them to write?
    ... hey, if all it takes is five minutes of someone's time,
    why not craft
    together a utils library and share it? You could make a
    positive
    difference. :) In that line of thinking, it's not even the
    size that
    matters. Moses Gunesh, for example, put together an elaborate
    and popular
    tweening engine, Fuse (
    http://www.mosessupposes.com/Fuse/),
    and shared the
    wealth. Note: by proximity to a casual statement on a String
    utils class,
    I risk implying that Fuse is just a five-minute exercise in
    simplicity,
    which is not *at all* the case. I'm only pointing out that
    good libraries
    can make a helpful difference in people's workaday lives. If
    the
    functionality you want isn't available, roll your own! :)
    > You are correct that there is no arguing taste, but if
    you
    > took the time to learn ruby well you would come back
    > to actionscript very disappointed.
    Even if I do "appear to be very knowledgable ... [on] the
    inner-working
    of Flash itself," I don't claim to know much on the
    inner-working of Adobe.
    I guess it depends on one's point of view -- and to my point
    of view,
    ActionScript keeps getting better and better.
    I think there's more than just taste to consider. For the
    type of
    programming I like to do -- where the end result is (ideally,
    to me) making
    cartoon characters move in response to user input, Ruby might
    leave me dry
    (Flash is strongly suited to vector graphics, sound effects,
    video footage,
    etc.). My multimedia career started with Macromedia Director,
    whose
    programming language is Lingo, a very AppleScript-like
    language. My guess
    is that you wouldn't much care for it at all. From there, I
    moved,
    reluctantly at first, to Flash, where my programming skill
    grew in-step with
    the increasing maturity of ActionScript. There was a time,
    essentially AS1,
    when ActionScript was practically identical to JavaScript,
    and I enjoyed
    getting to know both. JavaScript led me to regular
    expressions, which
    fascinated me for fully two years before I got any good at
    it. I'm pleased
    as punch that AS3 supports regex natively. AS2 brought the
    "class"
    keyword -- and OOP in general -- to the forefront of my mind,
    which led to
    brief excursions into Java and C#. I've played a bit with
    Python, PHP, and
    a handful of other languages. To a certain extent,
    programming is
    programming: it's the syntax that changes, not the challenge
    and fun of
    problem solving within a given set of constraints (like the
    language
    itself). In that regard, it doesn't really matter to me what
    language I'm
    using, so much as a general answer to the question, "Does
    this platform
    allow me -- encourage me -- to participate in the kinds of
    projects I like?"
    Even if I found another language, such as Ruby, more
    convenient, it might
    not facilitate the sorts of projects I enjoy. To go out on a
    limb and make
    an extreme example, Ruby, for all its elegance, wouldn't help
    me if I had a
    passion for programming LCD wristwatches. Because I "grew up"
    on
    ActionScript, I also have something of a nostalgia for its
    particular
    quirks. I personally happen to find ActionScript more
    palatable than
    Lingo -- so I can see some of your points.
    > The more I get to know actionscript 3 in detail the more
    > I'm convinced those that adamantly support it just don't
    > know any better.
    I don't know if you consider me one of those who adamantly
    supports AS3
    or not, and it doesn't really matter. You yourself said that
    ActionScript
    isn't a bad language -- only that Ruby, in your estimation,
    is that much
    better. Well, good! I'm glad you've found a language that
    pleases your
    palate. :) If you were to change your mind and decide, after
    all, that
    ActionScript actually is a "bad language," it wouldn't be any
    skin off my
    nose. See, if I step away from ActionScript toward something
    else, it means
    I'm stepping away from a platform that has continued to
    intrigue me for
    eight years. If ActionScript were still where it was in the
    Flash 4 days,
    I'd probably be whistling a different tune. ;)
    David Stiller
    Adobe Community Expert
    Dev blog,
    http://www.quip.net/blog/
    "Luck is the residue of good design."

  • Convert Ruby HMAC SHA256 code to C# (Windows 8.1 Universal)

    I have the following Ruby code which I'm trying to port to a Windows universal app. Most examples I've found use System.Security.Cryptography which isn't available in the framework.
    method = "POST"
    uri = "http://api.somewhere.com/events"
    data = "my_data"
    timestamp = 1423778684
    data_utf8 = data.force_encoding("UTF-8").bytes.to_a.map(&:chr).join
    message = "#{method}#{uri}#{data_utf8}#{timestamp}"
    key = "ABC123"
    checksum = Digest::HMAC.hexdigest(message, key, Digest::SHA256)
    puts checksum
    # => 83f47bcd10c7360614bb8a858786eb588be3494f1e9bf8a1769bd5f6fff0a3b8
    The 'Digest::HMAC.hexdigest' being the line giving me trouble. Thanks!

    Hi,
    I do not very familiar with the Ruby code. But seem you want to create hash value in windows store app. If so, you can use the Windows.Security.Cryptography namespaces to do that. There are some codes you can try:
    string stringToSign = "Whatever message you wish to sign";
    string hashKey = "The key you want to sign it with.";
    MacAlgorithmProvider macAlgorithmProvider = MacAlgorithmProvider.OpenAlgorithm("HMAC_SHA256");
    BinaryStringEncoding encoding = BinaryStringEncoding.Utf8;
    var messageBuffer = CryptographicBuffer.ConvertStringToBinary(stringToSign, encoding);
    IBuffer keyBuffer = CryptographicBuffer.ConvertStringToBinary(hashKey, encoding);
    CryptographicKey hmacKey = macAlgorithmProvider.CreateKey(keyBuffer);
    IBuffer signedMessage = CryptographicEngine.Sign(hmacKey, messageBuffer);
    string hashedString = CryptographicBuffer.EncodeToBase64String(signedMessage);
    More information you can refer to the link below:
    https://msdn.microsoft.com/en-us/library/windows.security.cryptography.core.macalgorithmprovider.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1
    Best Wishes!
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. <br/> Click <a
    href="http://support.microsoft.com/common/survey.aspx?showpage=1&scid=sw%3Ben%3B3559&theme=tech"> HERE</a> to participate the survey.

  • PRICE LIST LINE을 DELETE 하는 SAMPLE API

    제품 : MFG_QP
    작성날짜 : 2006-05-23
    PRICE LIST LINE을 DELETE 하는 SAMPLE API
    ========================================
    PURPOSE
    Price List Lines을 delete 할 수 있는 API가 있는지 알아보고 그 사용방법
    을 이해한다.
    Explanation
    아래 설명하는 script는 Price List Lines 만을 delete 하는 sample API
    script 이므로 고객사의 business needs에 맞게 고객사에서 script를 수정하
    여 사용하여야 한다.
    Oracle은 QP_LIST_LINES table에 있는 created_by, creation_date 등을 이용
    하여 관련된 records를 읽을 수 있는 cursor를 생성하영 사용할 것을 권장한
    다.
    QP_LIST_LINES table의 list_line_id를 읽어 delete를 위해
    qpr_price_list_line_tbl에 전달한다.
    참고로 각 1000이 반복될때 마다 commit 하는것을 권한다.
    /*$Header: QPPLXMP3.sql 115.3 2001/11/19 18:15:32 pkm ship $*/
    Sample script which deletes an existing Price List line and the product
    information for the line (Product Information is stored in pricing
    attributes table in product attribute columns).
    This sample price list does not have any qualifiers or price breaks or
    non product-information type of pricing attributes.
    This script must be modified by the user such that the
    qpr_pricing_attr_tbl(J).product_attr_value column is populated with a valid
    inventory_item_id from the instance where this script is run. Also, other user variables are noted within arrows, <>.
    Please read the Oracle Pricing User guide (Appendix A & B) to understand
    the flexfields and seed data.
    -- set environment variables
    set serveroutput on size 1000000
    set verify off
    set feedback off
    set echo off
    set autoprint off
    set arraysize 4
    set pagesize 58
    set term on
    set underline =
    set linesize 100
    declare
    gpr_return_status varchar2(1) := NULL;
    gpr_msg_count number := 0;
    gpr_msg_data varchar2(2000);
    gpr_price_list_rec QP_PRICE_LIST_PUB.Price_List_Rec_Type;
    gpr_price_list_val_rec QP_PRICE_LIST_PUB.Price_List_Val_Rec_Type;
    gpr_price_list_line_tbl QP_PRICE_LIST_PUB.Price_List_Line_Tbl_Type;
    gpr_price_list_line_val_tbl QP_PRICE_LIST_PUB.Price_List_Line_Val_Tbl_Type;
    gpr_qualifiers_tbl QP_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
    gpr_qualifiers_val_tbl QP_Qualifier_Rules_Pub.Qualifiers_Val_Tbl_Type;
    gpr_pricing_attr_tbl QP_PRICE_LIST_PUB.Pricing_Attr_Tbl_Type;
    gpr_pricing_attr_val_tbl QP_PRICE_LIST_PUB.Pricing_Attr_Val_Tbl_Type;
    ppr_price_list_rec QP_PRICE_LIST_PUB.Price_List_Rec_Type;
    ppr_price_list_val_rec QP_PRICE_LIST_PUB.Price_List_Val_Rec_Type;
    ppr_price_list_line_tbl QP_PRICE_LIST_PUB.Price_List_Line_Tbl_Type;
    ppr_price_list_line_val_tbl QP_PRICE_LIST_PUB.Price_List_Line_Val_Tbl_Type;
    ppr_qualifiers_tbl QP_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
    ppr_qualifiers_val_tbl QP_Qualifier_Rules_Pub.Qualifiers_Val_Tbl_Type;
    ppr_pricing_attr_tbl QP_PRICE_LIST_PUB.Pricing_Attr_Tbl_Type;
    ppr_pricing_attr_val_tbl QP_PRICE_LIST_PUB.Pricing_Attr_Val_Tbl_Type;
    K number := 1;
    j number := 1;
    begin
    oe_debug_pub.initialize;
    oe_debug_pub.setdebuglevel(5);
    Oe_Msg_Pub.initialize;
    DBMS_OUTPUT.PUT_LINE('Debug File = ' || OE_DEBUG_PUB.G_DIR||'/'||
    OE_DEBUG_PUB.G_FILE);
    --dbms_output.put_line('after get price list ');
    /* setup the list_header rec for update */
    gpr_price_list_rec.list_header_id := <price_list_header_id>;
    gpr_price_list_rec.name := <price_list_name>;
    gpr_price_list_rec.list_type_code := 'PRL';
    gpr_price_list_rec.description := '<price_list_description>;
    gpr_price_list_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
    -- delete the price list line rec
    gpr_price_list_line_tbl(K).list_header_id := <price_list_header_id>;
    gpr_price_list_line_tbl(K).list_line_id := <price_list_line_id>;
    gpr_price_list_line_tbl(K).list_line_type_code := 'PLL';
    gpr_price_list_line_tbl(K).operation := QP_GLOBALS.G_OPR_DELETE;
    --dbms_output.put_line('before process price list ');
    QP_PRICE_LIST_PUB.Process_Price_List
    ( p_api_version_number => 1
    , p_init_msg_list => FND_API.G_FALSE
    , p_return_values => FND_API.G_FALSE
    , p_commit => FND_API.G_FALSE
    , x_return_status => gpr_return_status
    , x_msg_count => gpr_msg_count
    , x_msg_data => gpr_msg_data
    , p_PRICE_LIST_rec => gpr_price_list_rec
    , p_PRICE_LIST_LINE_tbl => gpr_price_list_line_tbl
    , p_PRICING_ATTR_tbl => gpr_pricing_attr_tbl
    , x_PRICE_LIST_rec => ppr_price_list_rec
    , x_PRICE_LIST_val_rec => ppr_price_list_val_rec
    , x_PRICE_LIST_LINE_tbl => ppr_price_list_line_tbl
    , x_PRICE_LIST_LINE_val_tbl => ppr_price_list_line_val_tbl
    , x_QUALIFIERS_tbl => ppr_qualifiers_tbl
    , x_QUALIFIERS_val_tbl => ppr_qualifiers_val_tbl
    , x_PRICING_ATTR_tbl => ppr_pricing_attr_tbl
    , x_PRICING_ATTR_val_tbl => ppr_pricing_attr_val_tbl
    IF ppr_price_list_line_tbl.count > 0 THEN
    FOR k in 1 .. ppr_price_list_line_tbl.count LOOP
    dbms_output.put_line('Record = '|| k ||
    'Return Status = '|| ppr_price_list_line_tbl(k).
    return_status);
    END LOOP;
    END IF;
    IF gpr_return_status <> FND_API.G_RET_STS_SUCCESS THEN
    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
    END IF;
    dbms_output.put_line('after process price list ');
    for k in 1 .. gpr_msg_count loop
    gpr_msg_data := oe_msg_pub.get( p_msg_index => k,
    p_encoded => 'F');
    dbms_output.put_line('err msg ' || k ||' is: ' || gpr_msg_data);
    null;
    end loop;
    EXCEPTION
    WHEN FND_API.G_EXC_ERROR THEN
    gpr_return_status := FND_API.G_RET_STS_ERROR;
    -- Get message count and data
    --dbms_output.put_line('err msg 1 is : ' || gpr_msg_data);
    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
    gpr_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
    --dbms_output.put_line(' msg count 2 is : ' || gpr_msg_count);
    for k in 1 .. gpr_msg_count loop
    gpr_msg_data := oe_msg_pub.get( p_msg_index => k,
    p_encoded => 'F');
    -- Get message count and data
    dbms_output.put_line('err msg ' || k ||' is: ' || gpr_msg_data)
    null;
    end loop;
    WHEN OTHERS THEN
    gpr_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
    -- Get message count and data
    --dbms_output.put_line('err msg 3 is : ' || gpr_msg_data);
    end;
    commit;
    --- exit;
    Reference Documents
    Note 362667.1

    Name: Chris Mentch
    Region: US/Americas
    Contact E-mail: chris.mentch at mentchconsulting.com
    Website: http://www.mentchconsulting.com
    Time working with BC: 1.5+ years
    Programming Languages: PHP, JSP, Javascript, Ruby/RoR, Jquery, .Net (if I have to), SOAP API
    Custom BC Client Applications: Integrating custom external applications with Business Catalyst through eCommerce and CRM APIs.
    Name: cindy radford
    Region: Americas Canada
    Contact E-mail: [email protected]
    Website: http://.com
    Logo: Link to your logo image (no larger than BC standard partner image, I will place this at the top of your listing)
    Time working with BC: new
    Programming Languages: Cobol and mainframe, starting web development
    Third Party API Experience: Cobol
    Custom BC Client Applications: None as of yet
    Name: eBridgeConnections
    Region: Americas, APAC, Europe, Africa
    Contact E-mail: [email protected]
    Website: http://www.ebridgeconnections.com
    Logo: http://www.ebridgeconnections.com/images/ebhome/logo.png
    Time working with BC: 1.5 years
    Programming Languages: n/a - Back-office integration with 40+ accounting/ERP systems
    Third Party API Experience: 20+ eCommerce platforms, CRM (SalesForce)
    Custom BC Client Applications: B.C. API integration
    Name: OneSaas (www.OneSaas.com) - Cloud Integrations Made Easy
    Contact E-mail: [email protected]
    Website: http://www.onesaas.com
    Time working with BC: 2 yeras
    Third Party API Experience: We integrate over 35 cloud platforms with BC. We know every API from almost every system.

  • Error installing ruby-opengl and GlTail

    heya,
    I'm trying to install GLtail (http://www.fudgie.org/) via a Ruby gem (i.e. gem install gltail).
    However, it seems to be giving me errors when trying to install ruby-opengl, a dependency of gltail.
    Building native extensions. This could take a while...
    ERROR: Error installing ruby-opengl:
    ERROR: Failed to build gem native extension.
    rake RUBYARCHDIR=/usr/lib/ruby/gems/1.9.1/gems/ruby-opengl-0.60.1/lib RUBYLIBDIR=/usr/lib/ruby/gems/1.9.1/gems/ruby-opengl-0.60.1/lib
    rake aborted!
    no such file to load -- mkrf/rakehelper
    /usr/lib/ruby/gems/1.9.1/gems/ruby-opengl-0.60.1/Rakefile:27:in `require'
    (See full trace by running task with --trace)
    (in /usr/lib/ruby/gems/1.9.1/gems/ruby-opengl-0.60.1)
    Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/ruby-opengl-0.60.1 for inspection.
    Results logged to /usr/lib/ruby/gems/1.9.1/gems/ruby-opengl-0.60.1/gem_make.out
    Updating class cache with 0 classes...
    Looking in the Rakefile for ruby-opengl, it does depend on mkrf (require 'mkrf/rakehelper'), however, I can't seem to find much  information on how to get it up in Arch Linux. Any suggestions on how to proceed ahead?
    Cheers,
    Victor
    (I do know about the AUR package for gltail, however, it's out of date, and seems a bit silly, since you can install these things much easier using gems).

    heya,
    Well, to answer myself, I just needed to install the mkrf gem (sudo gem install mkrf). Not sure why this wasn't pulled in as a dependency (?) - I don't really have that much knowledge of Ruby or how gems work.
    The next hurdle appears to be that it depends on ftools.
    /usr/lib/ruby/gems/1.9.1/gems/gltail-0.1.8/bin/gl_tail:54:in `require': no such file to load -- ftools (LoadError)
            from /usr/lib/ruby/gems/1.9.1/gems/gltail-0.1.8/bin/gl_tail:54:in `<top (required)>'
            from /usr/bin/gl_tail:19:in `load'
            from /usr/bin/gl_tail:19:in `<main>'
    I'm not so familiar with Ruby, but from I've read, it seems this was deprecated in favour of fileutils in Ruby 1.9.x, right? And the API for this is different (yes, I did try switching ftools for fileutils in the gl_tail ruby file...lol).
    /usr/lib/ruby/gems/1.9.1/gems/gltail-0.1.8/bin/gl_tail:66:in `<top (required)>': undefined method `copy' for File:Class (NoMethodError)
            from /usr/bin/gl_tail:19:in `load'
            from /usr/bin/gl_tail:19:in `<main>'
    Is there any way to get gl_tails to work here? Or do I have to downgrade Ruby?
    Cheers,
    Victor

  • APIs for Parsing JRA Recording Files (Any documentation?)

    Hi,
    I have a JRF recording file with me and using which i need to generate custom report using any scripting language like PERL or Ruby etc without using JRocket Mission Control. here in my custom script i can use any APIs provided by JRocket to parse JRA recording file and get different statistics data.
    So here i want to know what all APIs does JRockit provides for parsing JRA recordings and getting different statistics data from JRF recordings which can be consumed by some other scripting language and NOT through JRockit Mission Control.
    Please share any documentation link or document having detail of available APIs from JRockit for parsing JRA recordings and getting different statistics data.
    Thanks,
    Piyush

    Just in addition to my previous comment.
    I have JRA flight recording files with me for parsing.
    Thanks,
    Piyush

  • Api/capability question re. simple chat room creation

    Hi
    I stumbled across cocomo this evening and it looks like it could save a lot of time but need to know something before investing in a lot of reading/playing about. I need to be able to create a public chat room on-the-fly that will permanently stay.
    I don't want to manually create a room.
    Does the SDK allow this? (sorry if its an obvious question).
    The app is a bit like a CB radio where a web user can pick a channel in their own geographical location. e.g. members of a particular zip area get directed to a room. If the room for that zip does not exist then it's created...
    If all users go away the room remains. Other users can jump in etc..
    Is the capability there? Anyone know of any close examples I could use ?
    Thanks in advance.
    Kevin

    yes, we provide service API that you can call from a separate server that allow you to create and manipulate rooms.
    we have libraries for a few languages (ruby, python, php, java, ColdFusion) so it should be pretty easy for you to implement what you describe.

  • Can not create Azure Scheduler Job Colloection correctly via rest API

    Hi Folks,
    I am trying to create a Azure Scheduler job collection via the rest API using Azure Ruby SDK
    I created the request following the API reference. Request body is as follow:
    <Resource xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/windowsazure">
    <IntrinsicSettings>
    <Plan>Standard</Plan>
    <Quota>
    <MaxJobCount>10</MaxJobCount>
    <MaxRecurrence>
    <Frequency>Second</Frequency>
    <Interval>1</Interval>
    </MaxRecurrence>
    </Quota>
    </IntrinsicSettings>
    </Resource>
    After sending the request, I can see the job collection created in the management portal, but the status of that job collection is "Unknown". I can not add add/update jobs under that job collection.
    Below is the log entry I got:
    RuntimeError (ESC[31mESC[1mInternalError: The server encountered an internal error. Please retry the request.ESC[0mESC[0m):
    Can someone shed me some lights on this?
    Thank you very in advance!
    Roy

    Hi Roy,
    I am not good at Ruby. But I didn't find any maintenance  information from azure dashboard. The issue is very weird,I will test it on my side and come back.
    Thanks & Regards,
    Will
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Why is there no WSDL type support for Web Api?

    So I am just getting started with .Net WebApi and one thing that I am noticing straight away is that there is no Contract defining how the Api looks and should be consumed (Request/Responses from each Action), this is usually in the form of a WSDL for WCF/Soap.
    It seems to me like this is something that would be very valuable and make life a lot easier for consumers of your Api.
    Is there a reason there isn't one? Is there a programming paradime or principle that I am unaware of? Is there a way I could create one?

    SOAP, REST AND PEOPLE'S CREATIVITY
    SOAP needs a description document like WSDL because each resource can be consumed with different messages, there are no definition on the protocol about constraints to the possible names/messages that you can manipulate a resource.
    For example, in SOAP your web service that allow clients manipulate an user can expose the operation that create an user in many different messages, like:
    addUser
    createUser
    insertUser
    Of course, these are just few sample messages, because I've see a lot of funny web services method names. There are really creative people out there.
    In other hand, if you are exposing your underlying system using web api that really respect the REST principles, the client just need to know that you have a resource named Users, because there is 99% of chance that you can create an user in this way
    POST /Users
    And this occurs for each operation you want to expose using SOAP or a web api REST.
    Despite being SOAP a protocol, which restricts what you can or can not do, and be REST a style architecture, which leaves many open points of how to do things. There are efforts to define conventions of how to expose and consume REST web apis.
    DESCRIBING A WEB API REST
    In the field of how to describe a web api REST I can cite
    Swagger. It is not a attempt to create a WSDL like to web api REST, but it is a good attempt to create an open standard for describing web apis REST.
    Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services.
    I use Swagger a lot and really love it, mainly because
    Swagger UI that allow you generate a nice live console and documentation for your web api.
    There are many implementations of Swagger for most of languages: C#, Java, Python, Ruby, etc.
    If you are using ASP .NET Web API, there a some projects to auto generate the Swagger specification, like
    Swagger.NET
    GENERATING CLIENTS TO A WEB API REST
    Because the constraints of REST, like the limited set of verbs (GET, POST, PUT, DELETE, etc) is not so difficuty to generate a client library to a web api REST.
    Projects like
    WebApiProxy can easily generate clients do C# and Javascript.
    CONVENTIONS FOR WEB API REST
    To keep our lifes as developers easier is good define some conventions of how our web api REST will behave, the best effort I know in this field is the very good
    Apigee - Web Api Design ebook. The e-book is not an attempt to create a bible or a mantra about how to design your api, but rather a collection of conventions observed in large web REST apis, like Twitter, Facebook, Linkedin, Google, etc.

  • How to call SOAP API from JavaScript

    Hi,
    I'm trying to call the SOAP API to get statistics about emails. Are there any examples on how to call the API from JavaScript?
    Here is a link to my original question about using the REST API. REST API URL for email statistics
    Thanks,
    Tim

    Tim,
    In order to consume a SOAP API I recommend you use something other than JavaScript.
    Any platform can offer you a good SOAP client should be OK. (.Net, Java, php, Ruby, python).
    I didn't see anyone successfully used javascript and consume the Eloqua SOAP API.
    I know you can create a SOAP client in Java script but it will be too much work to handle the Eloqua response in some cases.
    Regards,
    Daniel

  • Ruby Python handshake timeout OpenSSL 1.0.1

    My development and production server both run Arch Linux.  I have a small ecommerce site which uses Net::HTTP to a remote API to process credit cards.  For some reason I'm getting timeout errors.  I've tested the same API on a Mac OS X machine and there are no issues.  So the issue seems to be with my Ruby installation or Arch Linux?
    I've tried both Ruby 1.9.2 and 1.9.3, with no change.  I seems to have happened at some point during a package update as the problem first started on my development machine (which I update sooner), and now with my production machine which I must've updated a week ago.
    ***WORKAROUND***
    This looks to be the same issue as discussed in this thread:
    https://bbs.archlinux.org/viewtopic.php?id=138103
    Looks like this issue is a result of upgrading to OpenSSL 1.0.1.  This also affects other software.  I tested under Ruby and Python, and had the same problem connecting to: https://esqa.moneris.com
    The following versions I had still do work:
    openssl-1.0.0.f
    openssl-1.0.0.g
    openssl-1.0.0.h
    openssl-1.0.1-1 (does not work - handshake timeout)
    Last edited by jamese (2012-03-28 16:54:41)

    I should also note, that Telnet does work, so it may only be a Ruby issue.  The weird thing is that it did work (with Ruby 1.9.2 and Ruby 1.9.3).
    I also re-installed Ruby using RVM instead of the Arch package, and still the same problem... so I guess this isn't a package problem?
    Perhaps this thread could be moved?
    Last edited by jamese (2012-03-27 20:45:07)

  • Script support (AppleScript, JavaScript, Ruby, Python, etc...)

    Hello,
    I frequently use Script feature with Audition 3.
    I want to revive the script feature!
    But, I don't like the syntax of past Audition script feature.
    I want to more popular script language support in Audition!
    BTW, I like Ruby language :-)
    Thanks,
    Hiroyuki

    I would obviously vote for Windows Scripting Host, since it gives you access to the .NET CLR, but there's the small caveat of OS lock-in...
    Either way, the ability to do disk operations, write your own GUI, even include network access and third-party API:s like Perforce has proven a godsend when scripting for Vegas. Whenever Vegas doesn't supply me with the tools I need, I can very often write them myself.

Maybe you are looking for

  • Ho to programmaticaly add objects to Transport Request

    Hi Experts, I have a requirement programmatically add objects to a Transport request. My requirement is , to modify/delete entries from DB table in the program and to create that object under a Transport request.  I could successfully add objects whi

  • Will Apple replace my charger for free?

    Got my macbook in august of last year. The charger just recently stopped working about three days ago (I haven't done anything to it. The part that actually plugs into the computer is fine, I believe theres something wrong with the wiring inside of i

  • DEP (Date Execution Prevention) Closed iTunes due to security reason

    I just bought a new laptop (SONY SR) operated with Window Vista. My laptop never run iTunes since I installed it. I tried uninstall and reinstall again n again, but it just doesn't work. A screen appeared and say that iTunes stopped working, DEP (Dat

  • Upgrading iPad 2 iOS from 4.3.5 to 6?

    I have someone that wants to upgrade to iOS 6, but they are still on 4.3.5 and never upgraded to 5. Before I help them with this, is this even possible? Or will I have to upgrade to 5 first and then 6? I dont want to risk erasing any of their data. A

  • Mail crashes regularly, and sometimes safari

    Hi, I have a 32gb 3gs, fully update to 4.2.1. In the last few days, the mail application has become almost totally unusable, and safari frequently so. With mail, it's fine when I open the app, and I can even compose/send messages fine. But when I sel