How to Enable compression on OHS ?
Hi All,
How can we enable compression on OHS(Apache) ?
Thanks
Raghavendra
1.7 Can I compress output from OHS (ex. gzip)?
In general, the recommendation is to use Web Cache for this purpose. There are other freeware modules (for example, mod_gzip) that may be plugged in for this purpose - but their use is not supported.
From OracleAS 10g R3 (10.1.3): OHS FAQ
http://www.oracle.com/technology/products/ias/ohs/htdocs/ohs-1013-faq.pdf
Similar Messages
-
I installed the web tier (ohs and web cache) 11.1.1.2 on 2008 r2 64 bits. Also I patched that to 11.1.1.3 I did not think and this may
be where I went wrong, I needed to install weblogic?. I have not done anything with webcache. yet.
I had imagined I could enable ssl in apache the way it is done on other installations just by putting entries in
the ssl.conf like SSLCertificateFile and SSLCertificateKeyFile . But no. The software will not allow you to do that.
I believe the certificate has to go in a wallet (for ohs. Other fusion things want a different plan). There's multiple
wallet programs already there such as from installing the database. I find that the wallet program will not allow
me to use the csr I already created that was used to get the certificate I have gotten. oops!
So anyone know if there is a way around this so I can use the .crt and .key I have for this domain name?
This is really taking a lot of time. I suppose I could install apache, the regular one, on this machine so that I
could use an ssl connection to that and then hand it over to ohs. Since it wasn't going anywhere it wouldn't
be much of a problem the traffic wasn't encrypted.
Edited by: lake on Nov 23, 2010 7:11 PMI thought I'd never get this to work. No one should bother trying without reading the docs
1226484.1 and 1218603.1 on metalink.
While it could be that one could use a reverse proxy such as using proxypass and proxypass reverse
in an apache web server so that ssl could be configured in the other server, I saw reports of that not always working.
Otherwise if one did not install weblogic I believe the only way to configure ssl with this version of ohs is with orapki the command line
interface for handling wallets, or the gui wallet application which I found on the 11gr2 database menu under "integrated management tools". You may be able to add an existing csr to a wallet via the orapki interface.
If you were using a separate key and certificate you may be able to change them to the wallet requirements given sufficient knowledge of opensll. That was more knowledge than I had. So what I did
was start over from scratch totally. I created the csr in the wallet gui, exported it, submitted it, and got a totally new cert from our cert source.
What I used for the wallet "operations, import user certificate" was a .cer file, and it worked. The wallet already had our CA in it so I did not have to fight that battle. Hallelujah.
It is essential to check on the "Wallet" menu the "Auto Login" selection before saving it. When you save a wallet
it will be called cwallet.sso if it is autologin. If the saved file is called ewallet.p12 it is not autologin and will not
work for ohs.
After you have saved your wallet as cwallet.sso say in
"....instances\instance1\config\OHS\ohs1\mykeys"
then you would need to check the ssl.conf and it would need to be like so:
SSLWallet "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/mykeys"
Note that is to the directory the sso file is in.
But wait there's more....
on windows 2008 r2, you need to get fire up windows explorer and navigate to your cwallet.sso file
Under properties, security you need to add SYSTEM in "group or user names" and give it all permissions possible.
Secondly, you need to go under properties, security, advanced, owner and change the owner to SYSTEM.
Without these changes it will never work because the web server cannot open the wallet.
Remember by default the logs go in
"....instances\instance1\diagnostics\logs\OHS\ohs1"
I became very familiar with them :-) -
How to enable OHS compression/cache for OBIEE
Hi i have installed OHS (11.1.1.7) and webcache on OBIEE 11.1.1.7. Does any one know how to enable/configure compression/cache for OBIEE analytics? Also how to validate if compression is working?
Hi Anke,
all tables that have been created in V9.7 with attribute COMPRESS YES will be compressed statically .
db2 " select count(*) , rowcompmode from syscat.tables group by rowcompmode "
After the upgrade to 10.5 all tables created with attribute COMPRESS YES will get rowcompmode='A' but old tables created with V9.7 will stay with rowcompmode='S' .
You can change tables from rowcompmode='S' to rowcompmode='A' via ALTER TABLE . After this all new pages or old pages that are touched will be adaptively compressed. But old pages that are not touched will only be static compressed. To get all pages of an existinbg table adaptive compressed you need to move data. For example with DB6CONV.
Regards
Frank -
WebService Client - how to enable HTTP Compression
Hi
I have written a simple WebService Client. The WebService expects that the WebService clients enable HTTP compression. This is the exact text from the docs:-
""1. Client should be HTTP Compression enabled
HTTP Compression had been made mandatory for API�s. Thus API�s client should
include �Accept-Encoding: zip� header as part of request and should be able to
handle compressed data. Please note that system will send an error message if client
are not http compression enabled saying client should be compression enabled."
I do not know how to enable HTTP compression in the WebService Client. The method called is "GetInstantaneousFlowData". It accepts no arguments and returns xsd:datetime.
The wsdl can be found at:-
http://energywatch.natgrid.co.uk/EDP-PublicUI/PublicPI/InstantaneousFlowWebService.asmx?WSDL
Can someone please help :-
import javax.xml.rpc.ServiceFactory;
import javax.xml.rpc.Service;
import javax.xml.rpc.Call;
import javax.xml.rpc.ParameterMode;
import javax.xml.namespace.QName;
import java.util.Calendar;
public class TestNGPubTime4 {
public static void main(String[] args) throws Exception {
// Setup the global JAX-RPC service factory
System.setProperty( "javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");
// create service factory
ServiceFactory factory = ServiceFactory.newInstance();
// define qnames
String targetNamespace = "http://www.NationalGrid.com/EDP/BusinessEntities/Public/";
QName serviceName = new QName(targetNamespace, "InstantaneousFlowWebService");
QName portName = new QName(targetNamespace, "InstantaneousFlowWebServiceSoap");
QName operationName = new QName("http://www.NationalGrid.com/EDP/UI/GetInstantaneousFlowData",
"GetLatestPublicationTime");
// create service
Service service = factory.createService(serviceName);
// create call
Call call = service.createCall();
// set port and operation name
call.setPortTypeName(portName);
call.setOperationName(operationName); // add parameters
call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
call.setProperty(Call.SOAPACTION_URI_PROPERTY, "http://www.NationalGrid.com/EDP/UI/GetInstantaneousFlowData");
// call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY, "http://schemas.xmlsoap.org/soap/encoding/");
call.setReturnType(new QName( "http://www.w3.org/2001/XMLSchema","datetime") );
// set end point address : soap address location
call.setTargetEndpointAddress("http://energywatch.natgrid.co.uk/EDP-PublicUI/PublicPI/InstantaneousFlowWebService.asmx");
// invoke the remote web service
Calendar result = (Calendar) call.invoke(new Object[] {});
System.out.println("result=" + result);
}Rishika,
Thanks for your reply.
Could I get clariffication on some more thing?
I am using Axis 1.4 version. And I am able to implement the gzip while doing the following steps.
1) Change the pivote value to CommonsHTTpSender.
<transport name="http" pivot="java:org.apache.axis.transport.http.CommonsHTTPSender"/>
2) public class RetreiveReservationsSOAPBindingStubLocal extends RetreiveReservationsSOAPBindingStub.
I Override the method to support GZIP.
org.apache.axis.client.Call _call = super.createCall();
call.setOperation(operations[0]);
_call.setUseSOAPAction(true);
_call.setSOAPActionURI("retreiveReservations");
_call.setEncodingStyle(null);
call.setProperty(org.apache.axis.client.Call.SENDTYPE_ATTR, Boolean.FALSE);
call.setProperty(org.apache.axis.AxisEngine.PROPDOMULTIREFS, Boolean.FALSE);
call.setProperty(HTTPConstants.MCACCEPT_GZIP, Boolean.TRUE);
call.setProperty(HTTPConstants.MCGZIP_REQUEST, Boolean.TRUE);
call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11CONSTANTS);
_call.setOperationName(new javax.xml.namespace.QName("", "retreiveReservations"));
super.setRequestHeaders(_call);
super.setAttachments(_call);
Object resp = call.invoke(new Object[] {retreiveReservationsRequest});
I am able to send and receive the request and response in gzip encoded format.
Now my clarrification is,
Is it possible to set the piote value to CommonsHTTPSender for the transport http through my code?
How could I set the values from code?
Reason is, I don't want to manually edit the axis 1.4's client-config.wsdd
Since this is very critical thing, please please help me.
Thanks in advance.
Regards,
Nishad Ponery -
HOW to enable oracle advance compression for EXIST partitioned table
Hi All,
I have to enable oracle advance compression for existing table which PARTITION BY RANGE then SUBPARTITION BY HASH.
ORacle version: 11.2.0.2.0
Please provide me any relevant doc or any exp.
Thanks in advance.could not see any text for how to enable oracle advance compression for EXIST partitioned table.RTFM.
From the resource above:
How do I compress an existing table?
There are multiple options available to compress existing tables. For offline compression, one could use ALTER TABLE Table_Name MOVE COMPRESS statement. A compressed copy of an existing table can be created by using CREATE TABLE Table_Name COMPRESS FOR ALL OPERATIONS AS SELECT *. For online compression, Oracle’s online redefinition utility can be used. More details for online redefinition are available here.
" -
How to Enable Color Management? (DV Compression Is Lightening Gamma)
This problem has plagued me with both After Effects and Premiere. I have a project with a number of .mpeg video files (I know MPEG is a bad file choice, but it's not causing the problem--I tested this with uncompressed media also). In AE, I have a darkly lit scene with gamma turned down to produce pure blacks in the shadowy areas. When I render as DV, Windows Media, or QuickTime and play the resulting file in Windows Media Player or Media Player Classic, the file has rather ugly dark grays where pure blacks should be. I read the article on color management and thought I had found the problem, but the "Use Display Color Management" option is grayed out and I've been unable to re-enable it.
Also, I don't know if this is of any major value, but the DV and Windows Media file versions look the same in Windows Media Player as they do in Media Player Classic. QuickTime files look slightly better in Classic than in the default QT player. This issue is especially confusing since the article only acknowledged that this can happen with QuickTime, whereas I'm having this problem with all formats except uncompressed. Thanks!> How do I enable display color management?
Have you enabled color management for the project (i.e., selected a working color space for the project)? If not, please read
"Choose a working color space and enable color management" for an explanation of how to enable color management for a project.
"Enable or disable display color management" contains information on managing colors using your monitor's color profile.
You said that you read "the article on color management", by which I presume that you mean the "Color Management Workflow" white paper on the Adobe Design Center website. That paper links to the
"Color management" section of After Effects CS3 Help on the Web and presumes that you'll consult that document for some of the basic underlying concepts and detailed procedures.
> And I guess it's a redundant question, but are the answers to this issue the same for Premiere as for AE?
Premiere Pro does not do color management. -
How to enable a partner application for Single Sign-On?
Can someone please advise me on how to enable my existing J2EE web application for the Oracle Single Sign-On?
My requirement is i want to provide the single sign-on authentication service to my J2EE web application. For this, I would like to make my application as a partner application similar like the OracleAS Portal.
I am using Oracle 10g ( OralceAS, Oracle Infra, OID ...)
I found the following service/APIs which Oracle provides. I am not sure which one is suitable for me.
1. mod_osso ( Static)
--- In this case, I have to make a entry in mod_osso.config file to protect the URL. should I have to register the URL again through single sign on admin page ("Administer Partner Application") after make a entry in config file?
2. mod_osso ( Dynamic directive)
-- in this case, I have to modify the code by providing the directives like 401, 499.. etc. So i don't prefer this as i don't want to touch my app.
--If I go with this option, should i have to register the URL with Single sign on server through SSO admin page ( as mentioned in the above step#1) ?
3. SSO SDK
- Since it was deprecated and need java coding, i am prefer this option.
-- however, if i go with this option, i will develop code by using SDK. in this case i need to register the URL in SSO server through admin page.. am i right?
Note:- OSSO server integrated with Active Directory for the authentication.
Thanks,
-Senthilsharon38_74 wrote:
they said that our internal application needs to send a "login request" to etran via SSL with the user's information encoded in base 64 format. etran captures the HTTP header containing user authentication and authorization information, and parses the required information from the HTTP header.
My question is that how I set user information in HTTP header? From my understanding, once I am able to set the user information in HTTP header, it is in base 64 format?Your application need to act like a proxy. You can invoke a HTTP request programmatically using java.net.URLConnection. You can set request headers using URLConnection#setRequestProperty(). Also see the API docs: [http://java.sun.com/javase/6/docs/api/java/net/URLConnection.html]. You only need to know the header field name where to set the Base64-encoded value in. You need to Base64-encode the value yourself. -
How to enable excel downloading in ALV grid report.
Hi all,
How to enable excal downing in ALV grid report?
Thanks in Advance.
Siva Sankar.hi
check the following code
Example of a Simple ALV Grid Report
REPORT ZTUFI091 .
*& Report ZDEMO_ALVGRID *
*& Example of a simple ALV Grid Report *
*& The basic requirement for this demo is to display a number of *
*& fields from the EKKO table. *
*REPORT zdemo_alvgrid .
TABLES: ekko.
type-pools: slis. "ALV Declarations
*Data Declaration
TYPES: BEGIN OF t_ekko,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
statu TYPE ekpo-statu,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
netpr TYPE ekpo-netpr,
peinh TYPE ekpo-peinh,
END OF t_ekko.
DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
wa_ekko TYPE t_ekko.
*ALV data declarations
data: fieldcatalog type slis_t_fieldcat_alv with header line,
gd_tab_group type slis_t_sp_group_alv,
gd_layout type slis_layout_alv,
gd_repid like sy-repid,
gt_events type slis_t_event,
gd_prntparams type slis_print_alv.
*Start-of-selection.
START-OF-SELECTION.
perform data_retrieval.
perform build_fieldcatalog.
perform build_layout.
perform build_events.
perform build_print_params.
perform display_alv_report.
*& Form BUILD_FIELDCATALOG
Build Fieldcatalog for ALV Report
form build_fieldcatalog.
There are a number of ways to create a fieldcat.
For the purpose of this example i will build the fieldcatalog manualy
by populating the internal table fields individually and then
appending the rows. This method can be the most time consuming but can
also allow you more control of the final product.
Beware though, you need to ensure that all fields required are
populated. When using some of functionality available via ALV, such as
total. You may need to provide more information than if you were
simply displaying the result
I.e. Field type may be required in-order for
the 'TOTAL' function to work.
fieldcatalog-fieldname = 'EBELN'.
fieldcatalog-seltext_m = 'Purchase Order'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 10.
fieldcatalog-emphasize = 'X'.
fieldcatalog-key = 'X'.
fieldcatalog-do_sum = 'X'.
fieldcatalog-no_zero = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'EBELP'.
fieldcatalog-seltext_m = 'PO Item'.
fieldcatalog-col_pos = 1.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'STATU'.
fieldcatalog-seltext_m = 'Status'.
fieldcatalog-col_pos = 2.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'AEDAT'.
fieldcatalog-seltext_m = 'Item change date'.
fieldcatalog-col_pos = 3.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_m = 'Material Number'.
fieldcatalog-col_pos = 4.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MENGE'.
fieldcatalog-seltext_m = 'PO quantity'.
fieldcatalog-col_pos = 5.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MEINS'.
fieldcatalog-seltext_m = 'Order Unit'.
fieldcatalog-col_pos = 6.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'NETPR'.
fieldcatalog-seltext_m = 'Net Price'.
fieldcatalog-col_pos = 7.
fieldcatalog-outputlen = 15.
fieldcatalog-datatype = 'CURR'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'PEINH'.
fieldcatalog-seltext_m = 'Price Unit'.
fieldcatalog-col_pos = 8.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
endform. " BUILD_FIELDCATALOG
*& Form BUILD_LAYOUT
Build layout for ALV grid report
form build_layout.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
gd_layout-totals_only = 'X'.
gd_layout-f2code = 'DISP'. "Sets fcode for when double
"click(press f2)
gd_layout-zebra = 'X'.
gd_layout-group_change_edit = 'X'.
gd_layout-header_text = 'helllllo'.
endform. " BUILD_LAYOUT
*& Form DISPLAY_ALV_REPORT
Display report using ALV grid
form display_alv_report.
gd_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = gd_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
i_callback_user_command = 'USER_COMMAND'
i_grid_title = outtext
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
it_special_groups = gd_tabgroup
it_events = gt_events
is_print = gd_prntparams
i_save = 'X'
is_variant = z_template
tables
t_outtab = it_ekko
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " DISPLAY_ALV_REPORT
*& Form DATA_RETRIEVAL
Retrieve data form EKPO table and populate itab it_ekko
form data_retrieval.
select ebeln ebelp statu aedat matnr menge meins netpr peinh
up to 10 rows
from ekpo
into table it_ekko.
endform. " DATA_RETRIEVAL
Form TOP-OF-PAGE *
ALV Report Header *
Form top-of-page.
*ALV Header declarations
data: t_header type slis_t_listheader,
wa_header type slis_listheader,
t_line like wa_header-info,
ld_lines type i,
ld_linesc(10) type c.
Title
wa_header-typ = 'H'.
wa_header-info = 'EKKO Table Report'.
append wa_header to t_header.
clear wa_header.
Date
wa_header-typ = 'S'.
wa_header-key = 'Date: '.
CONCATENATE sy-datum+6(2) '.'
sy-datum+4(2) '.'
sy-datum(4) INTO wa_header-info. "todays date
append wa_header to t_header.
clear: wa_header.
Total No. of Records Selected
describe table it_ekko lines ld_lines.
ld_linesc = ld_lines.
concatenate 'Total No. of Records Selected: ' ld_linesc
into t_line separated by space.
wa_header-typ = 'A'.
wa_header-info = t_line.
append wa_header to t_header.
clear: wa_header, t_line.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = t_header.
i_logo = 'Z_LOGO'.
endform.
FORM USER_COMMAND *
--> R_UCOMM *
--> RS_SELFIELD *
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
Check function code
CASE r_ucomm.
WHEN '&IC1'.
Check field clicked on within ALVgrid report
IF rs_selfield-fieldname = 'EBELN'.
Read data table, using index of row user clicked on
READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
Set parameter ID for transaction screen field
SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
Sxecute transaction ME23N, and skip initial data entry screen
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.
*& Form BUILD_EVENTS
Build events table
form build_events.
data: ls_event type slis_alv_event.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = gt_events[].
read table gt_events with key name = slis_ev_end_of_page
into ls_event.
if sy-subrc = 0.
move 'END_OF_PAGE' to ls_event-form.
append ls_event to gt_events.
endif.
read table gt_events with key name = slis_ev_end_of_list
into ls_event.
if sy-subrc = 0.
move 'END_OF_LIST' to ls_event-form.
append ls_event to gt_events.
endif.
endform. " BUILD_EVENTS
*& Form BUILD_PRINT_PARAMS
Setup print parameters
form build_print_params.
gd_prntparams-reserve_lines = '3'. "Lines reserved for footer
gd_prntparams-no_coverpage = 'X'.
endform. " BUILD_PRINT_PARAMS
*& Form END_OF_PAGE
form END_OF_PAGE.
data: listwidth type i,
ld_pagepos(10) type c,
ld_page(10) type c.
write: sy-uline(50).
skip.
write:/40 'Page:', sy-pagno .
endform.
*& Form END_OF_LIST
form END_OF_LIST.
data: listwidth type i,
ld_pagepos(10) type c,
ld_page(10) type c.
skip.
write:/40 'Page:', sy-pagno .
endform.
hope it will help you
regards
sreelatha gullapalli -
How to enable the S-Video port on a Satelite M30X-154?
Hey does any one know how to enable the S-Video port on a Satellite SM30X-154 laptop?
If I press the FN+5 keys the only options I get is LCD and no S-VHS option. My TV is set up for it as I watch DVD's through the cable.
When I connect the cable to the laptop, nothing happens!!
HELPHi,
Sorry, my Tosh A100 has a Geforce 7600, I don't know what your GA is.
But on mine I have a NVidia Control Panel, where I can configure dualview,
which normally lets me choose between the builtin LCD and the extern monitor (VGA-Port).
When a TV is connected and not recognized, I can enforce recognition there.
On the next start of the panel, the TV is then available too.
Perhaps I could help you.
If not, note that with windows settings your TV will not be available.
Try to go to the User Interface of your graphics adapter...
Matz -
How to enable MMS without BIS
This guide is for you if:
you have an BlackBBerry OS 7 device on a regular (non-BIS) data plan
and
2. you cannot send MMS (multimedia) messages.
Getting MMS working requires you to split, hex edit, merge and install service books, so read through the instructions and decide whether you’re up to it. I’ve attempted to explain everything as clearly as possible, but it’s a complex process and requires you to follow instructions carefully.
It's worth asking your carrier if they can just enable MMS for you. If they can and will, you don't need this guide.
Notes:
The process described here may also work on earlier devices with OS 4, 5, and 6, but I don’t have those devices to test.
Many carriers require you to have a data plan in order to send MMS messages. If you don’t have one, this guide may not help you.
Depending on your cellular plan, sending MMS messages may involve extra charges.
Preparation: Before You Get Started
Software
First, you need some tools to do the work. Download and install these three programs on your computer:
MagicBerry 3.5 (here)
A Hex editor (I like HxD, here)
BlackBerry Desktop (link)
Service Books
You will also need a copy of the service books attached to post #1 in this thread over at CrackBerry. Extract the contents of the .zip file to a location of your choice.
MMS Configuration Information
Once you have the tools and service books, you need to get the MMS configuration information from your cellular carrier.
Specifically, you need three settings: MMS Proxy, MMSC, and APN. Search on Google for something like, “MMS settings for [insert your cellular carrier’s name here]” and you should find them. Note that you also need the port number for the MMS Proxy. It should be there on the settings page.
Note: if the port number for your MMS Proxy is in the 9000s, this process probably won’t work, since your cell carrier may be using the older WAP 1.2 specification. If anyone runs across this, let me know, and I’ll try to help you out.
A Note on MagicBerry
MagicBerry is an .ipd file editor. Service books, like the ones responsible for MMS, are .ipd files. The logical conclusion would be that you could edit service books with MagicBerry. But MagicBerry only shows you certain pre-set fields within the .ipd file. As a result, you can't see or edit a lot of the information in the service book. Even worse, if you do edit a service book file with MagicBerry, that unseen information is not saved, so you end up deleting it and rendering the service book useless.
MagicBerry does have good uses, though: it splits and merges service book files perfectly. In fact, it is the best tool for splitting and merging service books, which is why you downloaded a copy.
Due to MagicBerry’s limitations, you’re going to edit the files with the hex editor.
Let’s get started!
The MMS How-to Guide
Step 1: Split the .ipd Files
Start MagicBerry, click File > Open, and open the tmo_servicebooks.ipd file.
Click Manipulate > Split.
Tick the box for the MMS Config 2.0 file.
Press “Split Selected,” enter a file name (and select a directory, so you know where the file is being saved), and press “Save.” Name the file “MMS_Config_20” so that you easily recognize it.
Note: there are "MMS Config" and "MMS Config 2.0" service books in the tmo_servicebooks.ipd file. Make sure you select the 2.0 version.
Step 2: Hex Edit the MMS Config 2.0 File
Now, start your hex editor and open the “MMS_Config_20.ipd” file. It will look like this, without the highlights and bolding. I’ve added those so that it will be easier to provide instructions on editing.
Hex Editing Basics
In the HEX editor, the blue numbers don’t matter to you (they’re just column and row labels). Only the black ones are part of the file.
The bytes (the two-character pairs) on the left side are all numbers, expressed in hexadecimal or “base-16”. The same information is expressed in ANSI characters on the right side.
The basics of hexadecimal numbering are that you count as follows:
Base-16 (hexadecimal): 1 2 3 4 5 6 7 8 9 A B C D E F 10
Base-10 (decimal): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
So in the two-character byte pair, 0D = 13, 1F = 31, 50 = 80, etc. If you can figure out those conversions, you’re good. If not, google hexadecimal numbering, and spend some time at a lesson. You need to understand how hex works to do this. There are also decimal to hexadecimal converters online. Use them to check your work, or to do the conversion work for you.
You can edit the file from either side of the hex editor. As you edit the information on one side, you’ll see it automatically changing on the other as well.
It’s easier to edit the information in the green, turquoise, and red fields on the right side.
The information in the grey, yellow, and pink fields must be edited from the left (hex) side, because it’s the hex value that matters, and it shows up as periods or jibberish on the right side. All those “dots” on the right side are not identical when you look over at the left side. They’re actually very different values. The nonsensical letters on the right side are likewise meaningful values on the left side.
It’s not a bad idea to just spend some time playing around in the hex editor before you move on. When you’re done, close the file without saving it, and the changes you make while experimenting won’t be made permanent.
Editing the File
The green blocks: enter your MMS proxy in each one, with the port number following the colon. Add to or delete bytes from the highlighted field if necessary, but whatever you do, do not write over or delete bytes outside the highlighted field! Those bytes contain necessary information, and if they are not there, the service book will not work. The same rule holds true for all of the other edits. You must stay within the highlighted fields. To delete bytes, just press delete. To insert bytes, position the cursor, and go to Edit > Insert Bytes on the menu bar, and choose the number of bytes to insert. If you’re using HxD hex editor, ctrl-z will undo a mistake. It also makes your changes in red, which makes them a little easier to follow. As with all programming, the work has to be perfect. There can be no mistakes. Check everything you do carefully.
The turquoise block: enter the MMSC address here.
The red block: enter your APN here.
The yellow blocks: total number of bytes in the highlighted green, turquoise, or red range that follows. Adjust it when you’ve finished editing. The number must be expressed in HEX of course. Use a decimal to hexadecimal converter online if you prefer that.
The pink blocks: the total number of bytes in the bolded range that follow (again, in hex). Adjust it when you’re finished editing the field.
The grey block: a count of the total number of bytes that follow it. In the original file, the value is 30 01 00 00, which breaks down as: 30(hex)=48 01(hex)=256. The total (48+256) is 304. If the number of bytes following the grey block was less than 256, there would be no 01 in the second place. For example, if there were 226 bytes following the block, the grey block would look like this: E2 00 00 00. When you are finished editing the entire file, go back and adjust the number in the grey block accordingly.
Once you’re done, save the file.
Step 3: Merge the MMS Config 2.0 and Wap Push Config Service Books
Open the “MMS_Config_20.ipd” file in MagicBerry
Once you’ve opened the file, click Manipulate > Merge.
Tick the box for the MMS Config 2.0 file.
On the right side of the “Merge” window, where it says, “Choose second IPD file,” press the button with the three dots.
Choose the tmo_servicebooks.ipd file.
Tick only the box for the “Wap Push Config” service book.
Press “Merge Selected,” enter a file name (and select the directory if necessary), and press “Save.”
Close MagicBerry
Step 4: Backup Your Phone
This is mandatory. You’ll need the backup file for step 6.
You need to have BlackBerry Desktop installed on your computer. If you haven’t done that yet, do it.
Connect your BlackBerry device to your computer with a USB cable. If BlackBerry Desktop does not start automatically, start it.
Do a backup. Just hit “Back up now” and follow the prompts. Do a full backup. Once you’re done, go to step 5.
Step 5: Merge the combined MMS Config 2.0/Wap Push Config service book file with your existing service books
Open MagicBerry
Press File > Open and at the bottom of the Open dialogue window beside the File name box, change “IPD Files (.ipd)” to “BBB Files (.bbb)”. Navigate to the folder where you stored your backup, and open it. It might take a while to open.
Click Manipulate > Merge.
Go down the list on the left hand side and tick the checkboxes for the service book entries (they will be way down). If there are service books listed for MMS Config or Wap Push Config, uncheck those boxes.
On the right side of the “Merge” window, where it says, “Choose second IPD file,” press the button with the three dots. Choose your merged MMS Config 2.0/Wap Push Config file.
Press “Merge Selected,” enter a file name (and select the directory if necessary), and press “Save.”
Optional: You can merge the newly created file again with any other service books you may need – such as the Anworm service books for the browser mentioned in my thread on CrackBerry. Just follow the process used in step 3.
Step 6: Install the Service Books to your phone:
Connect your BlackBerry to your computer with a USB cable if it isn’t still connected.
On your BlackBerry, go to Options > Device > Advanced System Settings > Service Book
Hold down the “Alt” key and press S B E B. You should see a message that says, “Legacy SB Restore Enabled.” Press Okay.
On your computer, open BlackBerry Desktop.
Go to Device > Restore.
Press “Change” and navigate to the folder with the merged .ipd file you created. Press “OK.” You should now see the file listed in the Restore window.
Click on the merged .ipd file you created to select it.
Under the heading “Select Data to Restore,” select “Select Device Data and Settings” and then tick the box for “Service Book.” This step is really important. Make sure it's done right. If you screw it up you could end up wiping a lot of settings and data.
Press “Restore” and answer “Yes” to the confirmation dialogue.
Close the BlackBerry Desktop software, disconnect your device, and do a battery pull to reboot.
Voila! If everything went well, you should have MMS capabilities. Test your ability to send and receive multimedia by sending yourself a picture message. You should receive the message within about 10 seconds.
If it doesn’t work, go back and make sure EVERYTHING in the file is done perfectly. If you find a problem, fix it, merge the files again, and reinstall the service books.
Solved!
Go to Solution.Why not just ask carrier to enable MMS? I know T-Mobile can and will do it, even if there is no data plan at all on the line. We did it for my daughter and I know T-Mobile has done it for others. I assume other carriers do the same, but don't know....Which is why I ask.
- Ira -
How to enable internet sharing on mac book to use my iphone?
how to enable internet sharing on mac book to use my iphone?
Hey PPRoy,
Thanks for the question. The following article may assist in achieving your goal:
OS X Mavericks: Share your Internet connection
http://support.apple.com/kb/PH13855
Thanks,
Matt M. -
How to enable execute-disable bit and other hidden settings on Lenovo 3000 N200 model 0769!
2008-11-16: I have posted some more settings, scroll down to message 19 in this thread to read them.
Hi,
Here's some good news for anyone with a Lenovo 3000 N200 model 0769, who is disappointed and frustrated with the lack of options in the BIOS setup menu. (I had a moan about that in this thread.)
This is a long post but I hope you'll find it worthwhile. Here are the features/settings which I will explain how to enable:
The BIOS disables the execute-disable bit function of the CPU, with no way to turn it on. You can enable it.
You can set VGA and VESA graphics modes to not be stretched to fill the whole screen (sharper graphics with no distorted aspect ratio).
Speed up the POST display by skipping the memory test
Disable various features (if you don't use them, that might save some power): the HD audio controller, WLAN card, on-board LAN, shadowing of the video BIOS
Enable beep before booting the OS
Enable key click sound (only in DOS, not Windows or Linux)
I'm still working on this, and hope to figure out more hidden settings soon, e.g. to disable the DVD drive and trackpad, and to change the video output from NTSC to PAL.
The information below applies to the Lenovo 3000 N200 model 0769 with BIOS version 3.03. My N200 has Nvidia graphics. For some background on the general principles/research required to figure this out, please see this thread at Wimsbios.com.
To change the settings, you need to create a bootable DOS floppy disk or USB drive. Download SYMCMOS.EXE (Google for it) and put it on the bootable disk. Boot the disk and run SYMCMOS to back up your current CMOS settings: SYMCMOS -Lsettings.txt
Next load the settings.txt into a text editor. It will begin like this:
( SYMBOLIC CMOS EDITOR - Version 643710-035 )
CRC = 3EDD
(0000) [0001]
(0003) [0001]
Your CRC value may differ. Each line after the CRC contains a token number, followed by the value of that token. You can start with the settings.txt you created and edit any tokens you want to change, or delete all token lines and just include the tokens you want to change. Then use SYMCMOS.EXE to apply the new file: SYMCMOS -V2 -Uupdate.txt
After running that command you can reset, and hopefully notice the new settings in action. (For certain settings, such as re-enabling the execute-disable bit, you need to turn the computer off then on again.)
Here are some specific tokens you can change:
Token Default New Description
(0000) [0001] [0000] Disable the HD audio controller
(0042) [0001] [0000] Disable LCD panel graphics scaling/stretching
(004B) [0000] [0001] Beep before booting the OS
(0267) [0001] [0000] Enable support for the CPU execute-disable bit
(028E) [0000] [0001] Enable key click (only works in DOS and BIOS setup)
(02A3) [0001] Set to 0 for slower memory test, or 2 (or 3?) to skip
test for faster booting, especially with 4GB RAM
(046E) [0001] [0000] Disable video BIOS shadowing. (Best to leave enabled.)
(0471) [0000] [0001] Enable 1MB memory hole at 15MB. (Best leave disabled.)
(0486) [0001] [0000] Disable PCI Express ports 1-6. This takes precedence
over the individual port bits below, and disables the
LAN, WLAN and (probably) ExpressCard port.
(0489) [0001] [0000] Disable PCI Express port 2 (WLAN card)
(048C) [0001] [0000] Disable PCI Express port 3 (maybe ExpressCard?)
(048F) [0001] [0000] Disable PCI Express port 4 (LAN)
For example, if you want to disable LCD panel scaling and enable the execute-disable bit, you would create a text file like this:
CRC = 3EDD
(0042) [0000]
(0267) [0001]
Some final points:
Loading the default settings in the BIOS setup menu will overwrite any changes you make using SYMCMOS.EXE. So keep that bootable disk around in case you need to re-apply your settings in future.
The token numbers above are specific to version 3.03 of the Lenovo 3000 N200 model 0769 BIOS. They might be different for earlier BIOS versions, and will be different for other models of computer.
Once you have created a bootable floppy disk with a text file containing your updated settings, you could create a bootable CD with the floppy's data on. Just boot that CD to restore your settings in future.
Before experimenting with randomly changing token values to discover other hidden settings, make sure you know how to reset your computer's CMOS memory! Changing some settings results in your computer becoming unable to boot, so you can't use the BIOS setup screen to reset. I wrote about how to reset the N200 model 0769 CMOS in this thread.
If you discover any other settings, please let me know.
Any changes made are at your own risk; if you "brick" your laptop don't blame me!
Message Edited by Donuts on 10-15-2008 09:45 AM
Message Edited by Donuts on 11-16-2008 11:35 PMHi Donuts !
My computer is a 3000 N200 0769BAG. It has a Dual Core Pentium and the information I get about the BIOS using lshw are :
========================================================================================
description: BIOS
vendor: LENOVO
physical id: 0
version: 68ET35WW (04/16/2008)
size: 106KiB
capacity: 960KiB
capabilities: pci pnp apm upgrade shadowing escd cdboot bootselect edd int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb ls120boot biosbootspecification
====================================================================================
I've nothing telling me it is a 3.03 BIOS version but only got the BIOS file name (68ET35WW);
Is it the same BIOS you used and if not how could I find the list of (token, default value,new seting) for that particular BIOS ?
Thanks a lot in advance for your help !
Regards -
How to enable the widgets in Indesign CC..?
Hi,
I am working on porting our Indesign CS6 plugin to Indesign CC plugin.I have completed the porting and the plugins has opened in Indesign CC,but i have one problem in design. Three of our Widgets has not opened in Indesign CC.
The code is the following,
.fr file
resource SampleDialogWidget (kSDKDefDialogResourceID + index_enUS)
__FILE__, __LINE__,
kSampleDialogWidgetID, // WidgetID
kPMRsrcID_None, // RsrcID
kBindNone, // Binding
0, 0, 700,400, // Frame (l,t,r,b)
kTrue, kTrue, // Visible, Enabled
kSampleDialogTitleKey, // Dialog name
//<FREDDYWIDGETDEFLISTUS>
SamplePrefListBox
SamplePreflistboxWidgetID,
kSysOwnerDrawListBoxPMRsrcId, // WidgetId, RsrcId
kBindAll, // Frame binding
Frame(15,15,170,360) // Frame
kTrue, kTrue, // Visible, Enabled
1,0, // List dimensions
19, // Cell height
1, // Border width
kFalse,kTrue, // Has scroll bar (h,v)
kTrue, // Multiselection
kTrue, // List items can be reordered
kTrue, // Draggable to new/delete buttons
kTrue, // Drag/Dropable to other windows
kTrue, // An item always has to be selected
kFalse, // Don't notify on reselect
kSamplePrefListElementRsrcID // Fill list box with widgets with this ID (default is 0)
CellPanelWidget
kCellPanelWidgetID, kPMRsrcID_None, // WidgetId, RsrcId
kBindAll, // Frame binding
Frame(-1,1,154,340) // Frame
kTrue, kTrue // Visible, Enabled
// ----- This is the CPanelControlData that holds the widgets
// that are items in the list box. They are not persistent
GenericPanelWithBorderWidget
SamplePrefGeneralTabWidgetID, kPMRsrcID_None,
kBindBottom |kBindRight,
Frame(175,10,695,360) // Frame
kTrue, kTrue,
StaticTextWidget
kInvalidWidgetID, // WidgetId (default=0)
kSysStaticTextPMRsrcId, // RsrcId
kBindNone, // Frame binding
10, 15, 138, 35, // Frame: left, top, right, bottom.
kTrue, kTrue, // Visible, Enabled
kAlignLeft, kEllipsizeEnd,kTrue, // Alignment, ellipsize style
kSamplePrefProjectPathStringKey, // Initial text.
kSamplePrefProjectPathTextEditBoxWidgetID // No associated widget
// TextEditBox Widget resource
TextEditBoxWidget
kSamplePrefProjectPathTextEditBoxWidgetID, // WidgetId
kSysEditBoxPMRsrcId, // RsrcId
kBindNone, // Frame binding
Frame(140, 15, 420, 35), // Frame (l,t,r,b)
kTrue, kTrue // Visible, Enabled
0, // Widget id of nudge button (0 so we dont get one)
0, 0,// small,large nudge amount
0, // max num chars(0 = no limit)
kFalse,// is read only
kFalse,// should notify each key stroke
kFalse,// range checking enabled
kFalse,// blank entry allowed
0, // Upper bounds
0, // Lower bounds
"", // Initial text
ButtonWidget
kSampleChooseProjectButtonWidgetID,
kSysButtonPMRsrcId,
kBindNone,
430, 15, 500, 35,
kTrue, kTrue,
kSampleChooseBtnStringKey,
GenericPanelWithBorderWidget
SamplePrefFittingTabWidgetID, kPMRsrcID_None,
kBindBottom |kBindRight,
Frame(175,10,695,360) // Frame
kTrue, kTrue,
StaticTextWidget
kInvalidWidgetID, // WidgetId
kSysStaticTextPMRsrcId, // RsrcId
kBindNone, // Frame binding
Frame( 10,15,300,35 ), // Frame (l,t,r,b)
kTrue, kTrue, kAlignLeft, // Visible, Enabled, Alignment
kDontEllipsize,kTrue, //**new element in InDesign 2.0: don't add any ellipses
"Drag/Drop Operation", // Text
0// WidgetId for associated control for shortcut focus
SeparatorWidget
0,
kPMRsrcID_None,
kBindNone,
Frame(10,37,450,38),
kTrue,kTrue,
StaticTextWidget
0, // WidgetId
kSysStaticTextPMRsrcId, // RsrcId
kBindNone, // Frame binding
Frame( 10, 40, 250, 60 ), // Frame (l,t,r,b)
kTrue, kTrue, kAlignLeft, // Visible, Enabled, Alignment
kDontEllipsize,kTrue, //**new element in InDesign 2.0: don't add any ellipses
kSampleTextOptionsTextKey, // Text
0 // WidgetId for associated control for shortcut focus
CheckBoxWidget
kSampleTextFitCheckBoxWidgetID, // WidgetId
kSysCheckBoxPMRsrcId, // RsrcId
kBindNone,
Frame(150, 40, 350, 60) // left, top, right, bottom
kTrue, // Visible
kTrue, // Enabled
kAlignLeft, // Alignment
kSampleTextFitChkBoxTextKey // Initial text
GenericPanelWithBorderWidget
SamplePrefScriptEventsTabWidgetID, kPMRsrcID_None,
kBindBottom |kBindRight,
Frame(175,10,695,360) // Frame
kTrue, kTrue,
StaticTextWidget
0, // WidgetId (default=0)
kSysStaticTextPMRsrcId, // RsrcId
kBindNone, // Frame binding
10, 10, 200, 30, // Frame: left, top, right, bottom.
kTrue, kTrue, // Visible, Enabled
kAlignLeft, kEllipsizeEnd,kTrue, // Alignment, ellipsize style
kSampleDropDownEventsTextKey, // Initial text.
0 // No associated widget
SamplePrefListBox
SamplePrefDragDropScriptlistboxWidgetID, kSysOwnerDrawListBoxPMRsrcId, // WidgetId, RsrcId
kBindAll, // Frame binding
Frame(10, 35, 200, 120) // Frame
kTrue, kTrue, // Visible, Enabled
1,0, // List dimensions
19, // Cell height
1, // Border width
kFalse,kTrue, // Has scroll bar (h,v)
kTrue, // Multiselection
kTrue, // List items can be reordered
kTrue, // Draggable to new/delete buttons
kFalse, // Drag/Dropable to other windows
kTrue, // An item always has to be selected
kFalse, // Don't notify on reselect
k SamplePrefListElementRsrcID // Fill list box with widgets with this ID (default is 0)
CellPanelWidget
kCellPanelWidgetID, kPMRsrcID_None, // WidgetId, RsrcId
kBindAll, // Frame binding
Frame(-1,1,187,243) // Frame
kTrue, kTrue // Visible, Enabled
// ----- This is the CPanelControlData that holds the widgets
// that are items in the list box. They are not persistent
ButtonWidget
SamplePrefDragDropScriptAddBtnWidgetID,
kSysButtonPMRsrcId,
kBindNone,
20, 125, 90, 145,
kTrue, kTrue,
kSampleAddScriptButtonTextKey,
ButtonWidget
SamplePrefDragDropScriptRemoveBtnWidgetID,
kSysButtonPMRsrcId,
kBindNone,
100, 125, 180, 145,
kTrue, kTrue,
kSampleRemoveScriptButtonTextKey,
Elements added:
void SampleDialogController::PopulatePrefListElement()
do
InterfacePtr<IPanelControlData> iPanelControlData(this, UseDefaultIID());
ASSERT(iPanelControlData);
if(!iPanelControlData) {CAlert::InformationAlert("IPanelControlData err");break;}
SDKListBoxHelper listHelper(iPanelControlData,kSamplePluginID, SamplePreflistboxWidgetID, kSampletDialogWidgetID);
IControlView * listBox = listHelper.FindCurrentListBox();
if(listBox == nil) {
CAlert::InformationAlert("listBox err");
break;
listHelper.EmptyCurrentListBox();
InterfacePtr<IListBoxController> listCntl(listBox,IID_ILISTBOXCONTROLLER); // useDefaultIID() not defined for this interface
ASSERT_MSG(listCntl != nil, "listCntl nil");
if(listCntl == nil) {
CAlert::InformationAlert("IListBoxController err");
break;
//Addin the string to the listbox
const int targetDisplayWidgetId =SamplePrefOptionTextWidgetID;
listHelper.AddElement("General", targetDisplayWidgetId);
listHelper.AddElement("Fitting", targetDisplayWidgetId);
listHelper.AddElement("Events and Scripts", targetDisplayWidgetId);
listCntl->DeselectAll();
}while(0);
I dont know how to enable these three widgets in Indesign CC.please refer this code and help me if anyone has idea regarding this problem.
Thanks in advance,
Vimala LHi,
As per ur suggestion,i have done the below changes
.fr file:
type SamplePrefListBox
(kViewRsrcType) : StdListBoxWidgetN
(ClassID = kStdListBoxWidgetNewBoss)
Class
kSamplePrefListBoxWidgetBoss,
kStdListBoxWidgetNewBoss,
IID_IOBSERVER,kSamplePrefListBoxObserverImpl,
resource SampleDialogWidget (kSDKDefDialogResourceID + index_enUS)
__FILE__, __LINE__,
kSampleDialogWidgetID, // WidgetID
kPMRsrcID_None, // RsrcID
kBindNone, // Binding
0, 0, 700,400, // Frame (l,t,r,b)
kTrue, kTrue, // Visible, Enabled
kSampleDialogTitleKey, // Dialog name
//<FREDDYWIDGETDEFLISTUS>
SamplePrefListBox
SamplePreflistboxWidgetID,
kSysOwnerDrawListBoxPMRsrcId, // WidgetId, RsrcId
kBindAll, // Frame binding
Frame(15,15,170,360) // Frame
kTrue, kTrue, // Visible, Enabled
kTrue, //Erase before draw
kInterfacePaletteFill, //Interface color
1,0, // List dimensions
19, // Cell height
1, // Border width
kFalse,kTrue, // Has scroll bar (h,v)
kTrue, // Multiselection
kTrue, // List items can be reordered
kTrue, // Draggable to new/delete buttons
kTrue, // Drag/Dropable to other windows
kTrue, // An item always has to be selected
kFalse, // Don't notify on reselect
0,
0,
kFalse, // Display root node
kFalse, // Use Horizontal scroll bar
kTrue, // Use vertical scroll bar
19, // Vertical scroll button increment
1, // Vertical thumb scroll increment
0, // Horizontal scroll button increment
0, // Horizontal thumb scroll increment
1, // Items selectable 1 = Single selection
kFalse, // Allow children from multibler parents to be selected
kTrue //, // Allow discontiguous selection
I got error...,error R32745: # Error: Expected ')'
SamplePrefListBoxObserver file:
void SamplePrefListBoxObserver::AutoAttach()
InterfacePtr<ISubject> subject(this, UseDefaultIID());
if (subject != nil)
subject->AttachObserver(this, IID_ILISTCONTROLDATA);
void SamplePrefListBoxObserver::AutoDetach()
InterfacePtr<ISubject> subject(this, UseDefaultIID());
if (subject != nil)
subject->DetachObserver(this, IID_ILISTCONTROLDATA);
void SamplePrefListBoxObserver::Update(const ClassID& theChange,ISubject* theSubject,const PMIID &protocol,void* changedBy)
do {
InterfacePtr<IPanelControlData> iPanelControlData(this, UseDefaultIID());
if(!iPanelControlData)
{CAlert::InformationAlert("iPanelControlData err");break;}
InterfacePtr<IWidgetParent> iWidgetParent(this, UseDefaultIID());
ASSERT(iWidgetParent);
if(!iWidgetParent)
{CAlert::InformationAlert("iWidgetParent err");break;}
InterfacePtr<IPanelControlData> iPanelControlDataDialog(
(IPanelControlData*)iWidgetParent->QueryParentFor(IID_IPANELCONTROLDATA) );
if(!iPanelControlDataDialog)
{CAlert::InformationAlert("iPanelControlDataDialog err");break;}
InterfacePtr<IControlView> view(theSubject, UseDefaultIID()) ;
if (view == nil)
{CAlert::InformationAlert("Can't find the panel control view");break;}
if (view->GetWidgetID() != SamplePreflistboxWidgetID)
if(view->GetWidgetID() == SamplePrefDragDropScriptlistboxWidgetID)
this->DeSelectList(iPanelControlDataDialog,SamplePrefUpdateScriptlistboxWidgetID);
this->DeSelectList(iPanelControlDataDialog,SamplePrefImportScriptlistboxWidgetID);
this->DeSelectList(iPanelControlDataDialog,SamplePrefAutoFlowScriptlistboxWidgetID);
else if(view->GetWidgetID() == SamplePrefUpdateScriptlistboxWidgetID)
this->DeSelectList(iPanelControlDataDialog,SamplePrefDragDropScriptlistboxWidgetID);
this->DeSelectList(iPanelControlDataDialog,SamplePrefImportScriptlistboxWidgetID);
this->DeSelectList(iPanelControlDataDialog,SamplePrefAutoFlowScriptlistboxWidgetID);
else if(view->GetWidgetID() == SamplePrefImportScriptlistboxWidgetID)
this->DeSelectList(iPanelControlDataDialog,SamplePrefDragDropScriptlistboxWidgetID);
this->DeSelectList(iPanelControlDataDialog,SamplePrefUpdateScriptlistboxWidgetID);
this->DeSelectList(iPanelControlDataDialog,SamplePrefAutoFlowScriptlistboxWidgetID);
else if(view->GetWidgetID() == SamplePrefAutoFlowScriptlistboxWidgetID)
this->DeSelectList(iPanelControlDataDialog,SamplePrefDragDropScriptlistboxWidgetID);
this->DeSelectList(iPanelControlDataDialog,SamplePrefUpdateScriptlistboxWidgetID);
this->DeSelectList(iPanelControlDataDialog,SamplePrefImportScriptlistboxWidgetID);
if ((protocol == IID_ILISTCONTROLDATA) && (theChange == kListSelectionChangedByUserMessage) )
if (view->GetWidgetID() ==SamplePreflistboxWidgetID)
IControlView* generaltab = iPanelControlDataDialog->FindWidget(SamplePrefGeneralTabWidgetID);
if(!generaltab)
{CAlert::InformationAlert("generaltab err");break;}
IControlView* fittingTab = iPanelControlDataDialog->FindWidget(SamplePrefFittingTabWidgetID);
if(!fittingTab)
{CAlert::InformationAlert("fittingTab err");break;}
IControlView* scriptEventTab = iPanelControlDataDialog->FindWidget(SamplePrefScriptEventsTabWidgetID);
SDKListBoxHelper listHelper(iPanelControlData,kSamplePluginID, SamplePreflistboxWidgetID, kSampleDialogWidgetID);
IControlView * listBox = listHelper.FindCurrentListBox();
if(listBox == nil){CAlert::InformationAlert("listBox err");break;}
InterfacePtr<IListBoxController> listCntl(listBox,IID_ILISTBOXCONTROLLER);
if(listCntl == nil) {break;}
int32 Selindex = listCntl->GetSelected();
if(Selindex!=-1){
InterfacePtr<IPanelControlData> panelControlData1(listBox, UseDefaultIID());
if(!panelControlData1) {break;}
IControlView* cellPanelview = panelControlData1->FindWidget(kCellPanelWidgetID);
InterfacePtr<IPanelControlData> panelControlData2(cellPanelview, UseDefaultIID());
if(!panelControlData2) {break;}
IControlView* cellView = panelControlData2->GetWidget(Selindex);
InterfacePtr<IPanelControlData> panelControlData3(cellView, UseDefaultIID());
if(!panelControlData2) {break;}
IControlView* textView = panelControlData3->FindWidget(SamplePrefOptionTextWidgetID);
InterfacePtr<ITextControlData> cellText (textView, UseDefaultIID());
PMString selectedItem = cellText->GetString();
if(selectedItem=="General")
generaltab->ShowView();
fittingTab->HideView();
scriptEventTab->HideView();
else if(selectedItem=="Fitting Options")
generaltab->HideView();
fittingTab->ShowView();
scriptEventTab->HideView();
else if(selectedItem=="Events and Scripts")
generaltab->HideView();
fittingTab->HideView();
scriptEventTab->ShowView();
} while(0);
void SamplePrefListBoxObserver::DeSelectList(IPanelControlData* iPanelControlData,WidgetID listBoxWidgetID)
do
SDKListBoxHelper listHelper(iPanelControlData,kSamplePluginID, listBoxWidgetID, kSamplePanelWidgetID);
IControlView * listBox = listHelper.FindCurrentListBox();
if(listBox == nil) {
CAlert::InformationAlert("listBox err");
break;
InterfacePtr<IListBoxController> listCntl(listBox,IID_ILISTBOXCONTROLLER); // useDefaultIID() not defined for this interface
ASSERT_MSG(listCntl != nil, "listCntl nil");
if(listCntl == nil) {
CAlert::InformationAlert("IListBoxController err");
break;
listCntl->DeselectAll(kTrue,kFalse);
}while(0);
please refer the above code and help me to develop the plugin.
We have used the SDKListBoxHelper file in our plugin.If it works in Indesign CC?
Thanks,
Vimala L -
Hi, can anyone please advise me how I 'enable' extensions in Safari 5.0.6. I have an iBook G4?
and secondly, is there anyway I can update from 10.5.8 Mac OSX on my iBook G4 ?
I am a complete novice.
Many thanks.
thall3Try Safari > Preferences > Extensions
Upgrade from v10.5.8 on an iBook G4? No. The next OS X up from v10.5 Leopard is v10.6 Snow Leopard.
Requirements for Snow Leopard include an Intel procdessor. Your iBookG4 is PowerPC.
Mac OS X v10.6 Snow Leopard - Technical Specifications -
How to enable the EL in jsp page
hi can u tell 'how to enable the EL in jsp page'?
*I am getting below exception in tomcat when i inclued +<%@ page isScriptingEnabled="true" isELEnabled="true"%>+*
org.apache.jasper.JasperException: /index.jsp(1,1) Page directive has invalid attribute: isScriptingEnabled
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)
org.apache.jasper.compiler.JspUtil.checkAttributes(JspUtil.java:311)
org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:106)
org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:590)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2388)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2394)
org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
org.apache.jasper.compiler.Validator.validate(Validator.java:1700)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:178)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Maybe you are looking for
-
How to display different text for labels in Group Above Report Oracle Repor
Hello, Is there a way to change the text that is displayed in Labels in a Group Above Report? For example, I have a Group Above report with my columns of data and above the columns I have my column labels, but I would like to be able to display vario
-
Steps to create ess/mss applications in hr abap
Hi guys, Could you please let me know the steps to create ess and mss applications in HR ABAP. I want some tutorial with detailed steps of creating these applications. Thanks Aditya Moderator message - Please search before asing and then ask a specif
-
I am unable to download the latest version of Itunes.
I am unable to download the latest version of Itunes. The message reads : "Itunes was not installed correctly. Please reinstall Itunes. Error 7 (Windows error193)". Any advice would be appreciated. Many thanks
-
Flash embeded file loads up in a mac but not on a pc
Hey......I'm building a site with iWeb and on the top of every page I want to put a flash slideshow.......I save the swf file on a folder in my iDisk and from there I put the code on iWeb to read the file......It loads perfect on my computer, but whe
-
Dexim S8, U2O i-Up, Pebble Portable Charger or Just Mobile GUM PRO
Hi all Have just been scouring the internet for a 3GS compatible external battery as an upgrade to my PowerMonkey Explorer and have seen the following options: Dexim DCA171B Bluepack S8 - £40. Pebble Portable Charger for £50 It has a massive capacity