The thruth about portlets

For all you posters. Concerning portlet on Sun ONE 6.2 Read more in http://docs.sun.com/source/816-6758-10/ch6.html
Although following this documentation i had a problem with the DTD it specifies: It tries to contact the internet for that. It seams that some example still follow an old spec. (see below)
As for portlet portability:
*portlets are a name not always used in the correct way. Portlet sometimes refer to a vendor specific way of using components. This is not always based based upon JSR 168
*when incorporting portlet from other vendors like IBM or even the free portlet of jetspeed, a lot of other libraries are used besided the portlet API. They often  have their own identity way of working with extra jars included in the war file.  So the rendering part might be portable but the authentication or other stuff is not so portable.
So a basic portlet might be portable but not all portlet are portable (some are more portable then others (1984? ;-)
My 2Eurocents.
Upgrading to Java Portlet Container Preview Release 2
Follow the instructions within the Installation of / Upgrade to Java Portlet Container Preview Release 2 section of the Installing the Java Portlet Container article.
Note: there have been some minor revisions to the JSR 168 APIs and deployment descriptor schema since the first public review draft that mean you will have to recompile the source code and edit the portlet.xml for any existing applications in order to comply with the new specification. In particular, note that the deployment descriptor namespace has changed to http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd. This means you will have to make sure that all your portlet.xml files begin with
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0"
xmlnssi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">

Hi,
BBP_PD will give you the data as well as table name . if you click on item or header details you would fine the table name like CRMD_ORDERAD_I , BBP_PDIGP along with their field contents.
but to  get the details use FM BBP_PD_SUSPO_GETDETAIL , BBP_PD_SUSCF_GETDETAIL etc to get the details.
cheers
Iftekhar Alam

Similar Messages

  • The question about portlet customization and synchronization

    I have a question about portlet customization and synchronization.
    When I call
    NameValuePersonalizationObject data = (NameValuePersonalizationObject) PortletRendererUtil.getEditData(portletRenderRequest);
    portletRenderRequest.setPortletTitle(str);
    portletRenderRequest.putString(aKey, aValue);
    PortletRendererUtil.submitEditData(portletRenderRequest, data);
    Should I make any synchronization myself (use "synchronized" blocks or something else) or this procedure is made thread-safe on the level of the Portal API?

    HI Dimitry,
    I dont think you have to synchronize the block. i guess the code is synchronized internally.
    regards,
    Harsha

  • Editing the discussion forum portlet

    Hi,
    I've just deployed the discussion forum portlet from portal center, and am using it in a portal. But, how can I remove the big Oracle Logo that is displaying in the portlet?
    Best regards
    Eva Svensson

    Hi Evan,
    Are you talking about OracleAS Provider for Jive Forums?
    If you are, then you can remove the logo by going to:
    htdocs/launchLink.jsp
    and modify the table tag which has a reference to the logo(images/logo.gif)
    thanks,
    Harsha

  • Listen and gain the information of portlet

    hello , I want to listen and gain the information of portlets which are running in the portal . For example , when a user post a request to the portal and it will show the portlets in one page , at this time , should I have any solution to gain those portlets' information , such as portlet's name , preference and so on . Should I create a filter ?
    I need your help , thank you very much !

    If you want to build that list on the client in JavaScript, the DISC api provides what you need. Check out the Page object here:
    http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/apidocDISC/index.html
    It has a getPlaceables() function which can provide some information about the portlets on the page. The REST calls can also be used to get information:
    http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/apidocREST/index.html

  • The Bug about 'DB_SECONDARY_BAD' still exists in BerkeleyDB4.8!

    The Bug about 'DB_SECONDARY_BAD' still exists in BerkeleyDB4.8?
    I'm sorry for my poor English, But I just cannot find anywhere else for help.
    Thanks for your patience first!
    I'm using BDB4.8 C++ API on Ubuntu 10.04, Linux Kernel 2.6.32-24-generic
    $uname -a
    $Linux wonpc 2.6.32-24-generic #43-Ubuntu SMP Thu Sep 16 14:17:33 UTC 2010 i686 GNU/Linux
    When I update(overwrite) a record in database, I may get a DB_SECONDARY_BAD exception,
    What's worse, This case doesn't always occures, it's random. So I think it probably a bug
    of BDB, I have seen many issues about DB_SECONDARY_BAD with BDB4.5,4.6...
    To reproduce the issue, I make a simplified test program from my real program.
    The data to be stroed into database is a class called 'EntryData', It's defined in db_access.h,
    where also defines some HighLevel API functions that hide the BDB calls, such as
    store_entry_data(), which use EntryData as its argument. The EntryData have a string-type
    member-data 'name' and a vector<string>-type mem-data 'labels', So store_entry_data() will
    put the real data of EntryData to a contiguous memory block. The get_entry_data() returns
    an EntryData builed up from the contiguous memory block fetched from database.
    The comlete test program is post following this line:
    /////////db_access.h////////////
    #ifndef __DB_ACCESS_H__
    #define __DB_ACCESS_H__
    #include <string>
    #include <vector>
    #include <db_cxx.h>
    class EntryData;
    //extern Path DataDir; // default value, can be changed
    extern int database_setup();
    extern int database_close();
    extern int store_entry_data(const EntryData&, u_int32_t = DB_NOOVERWRITE);
    extern int get_entry_data(const std::string&, EntryData*, u_int32_t = 0);
    extern int rm_entry_data(const std::string&);
    class DBSetup
    // 构造时调用database_setup, 超出作用域自动调用database_close .
    // 该类没有数据成员.
    public:
    DBSetup() {
    database_setup();
    ~DBSetup() {
    database_close();
    class EntryData
    public:
    typedef std::vector<std::string> LabelContainerType;
    EntryData() {}
    EntryData(const std::string& s) : name(s) {}
    EntryData(const std::string& s, LabelContainerType& v)
    : name(s), labels(v) {}
    EntryData(const std::string&, const char*[]);
    class DataBlock;
    // 直接从内存块中构建, mem指针将会从数据库中获取,
    // 它就是EntryData转化成的DataBlock中buf_ptr->buf的内容.
    EntryData(const void* mem_blk, const int len);
    ~EntryData() {};
    const std::string& get_name () const { return name; }
    const LabelContainerType& get_labels() const { return labels; }
    void set_name (const std::string& s) { name = s; }
    void add_label(const std::string&);
    void rem_label(const std::string&);
    void show() const;
    // get contiguous memory for all:
    DataBlock get_block() const { return DataBlock(*this); }
    class DataBlock
    // contiguous memory for all.
    public:
    DataBlock(const EntryData& data);
    // 引进一块内存作为 buf_ptr->buf 的内容.
    // 例如从数据库中获取结果
    DataBlock(void* mem, int len);
    // 复制构造函数:
    DataBlock(const DataBlock& orig) :
    data_size(orig.data_size),
    capacity(orig.capacity),
    buf_ptr(orig.buf_ptr) { ++buf_ptr->use; }
    // 赋值操作符:
    DataBlock& operator=(const DataBlock& oth)
    data_size = oth.data_size;
    capacity = oth.capacity;
    if(--buf_ptr->use == 0)
    delete buf_ptr;
    buf_ptr = oth.buf_ptr;
    return *this;
    ~DataBlock() {
    if(--buf_ptr->use == 0) { delete buf_ptr; }
    // data()函数因 Dbt 构造函数不支持const char*而被迫返回 char*
    // data() 返回的指针是应该被修改的.
    const char* data() const { return buf_ptr->buf; }
    int size() const { return data_size; }
    private:
    void pack_str(const std::string& s);
    static const int init_capacity = 100;
    int data_size; // 记录数据块的长度.
    int capacity; // 已经分配到 buf 的内存大小.
    class SmartPtr; // 前向声明.
    SmartPtr* buf_ptr;
    class SmartPtr
    friend class DataBlock;
    char* buf;
    int use;
    SmartPtr(char* p) : buf(p), use(1) {}
    ~SmartPtr() { delete [] buf; }
    private:
    std::string name; // entry name
    LabelContainerType labels; // entry labels list
    }; // class EntryData
    #endif
    //////db_access.cc/////////////
    #include <iostream>
    #include <cstring>
    #include <cstdlib>
    #include <vector>
    #include <algorithm>
    #include "directory.h"
    #include "db_access.h"
    using namespace std;
    static Path DataDir("~/mydict_data"); // default value, can be changed
    const Path& get_datadir() { return DataDir; }
    static DbEnv myEnv(0);
    static Db db_bynam(&myEnv, 0); // using name as key
    static Db db_bylab(&myEnv, 0); // using label as key
    static int generate_keys_for_db_bylab
    (Db* sdbp, const Dbt* pkey, const Dbt* pdata, Dbt* skey)
    EntryData entry_data(pdata->get_data(), pdata->get_size());
    int lab_num = entry_data.get_labels().size();
    Dbt* tmpdbt = (Dbt*) malloc( sizeof(Dbt) * lab_num );
    memset(tmpdbt, 0, sizeof(Dbt) * lab_num);
    EntryData::LabelContainerType::const_iterator
    lab_it = entry_data.get_labels().begin(), lab_end = entry_data.get_labels().end();
    for(int i = 0; lab_it != lab_end; ++lab_it, ++i) {
    tmpdbt[ i ].set_data( (void*)lab_it->c_str() );
    tmpdbt[ i ].set_size( lab_it->size() );
    skey->set_flags(DB_DBT_MULTIPLE | DB_DBT_APPMALLOC);
    skey->set_data(tmpdbt);
    skey->set_size(lab_num);
    return 0;
    //@Return Value: return non-zero at error
    extern int database_setup()
    const string DBEnvHome (DataDir + "DBEnv");
    const string dbfile_bynam("dbfile_bynam");
    const string dbfile_bylab("dbfile_bylab");
    db_bylab.set_flags(DB_DUPSORT);
    const u_int32_t env_flags = DB_CREATE | DB_INIT_MPOOL;
    const u_int32_t db_flags = DB_CREATE;
    rmkdir(DBEnvHome);
    try
    myEnv.open(DBEnvHome.c_str(), env_flags, 0);
    db_bynam.open(NULL, dbfile_bynam.c_str(), NULL, DB_BTREE, db_flags, 0);
    db_bylab.open(NULL, dbfile_bylab.c_str(), NULL, DB_BTREE, db_flags, 0);
    db_bynam.associate(NULL, &db_bylab, generate_keys_for_db_bylab, 0);
    } catch(DbException &e) {
    cerr << "Err when open DBEnv or Db: " << e.what() << endl;
    return -1;
    } catch(std::exception& e) {
    cerr << "Err when open DBEnv or Db: " << e.what() << endl;
    return -1;
    return 0;
    int database_close()
    try {
    db_bylab.close(0);
    db_bynam.close(0);
    myEnv.close(0);
    } catch(DbException &e) {
    cerr << e.what();
    return -1;
    } catch(std::exception &e) {
    cerr << e.what();
    return -1;
    return 0;
    // 返回Dbt::put()的返回值
    int store_entry_data(const EntryData& e, u_int32_t flags)
    int res = 0;
    try {
    EntryData::DataBlock blk(e);
    // data()返回的buf中存放的第一个字符串便是 e.get_name().
    Dbt key ( (void*)blk.data(), strlen(blk.data()) + 1 );
    Dbt data( (void*)blk.data(), blk.size() );
    res = db_bynam.put(NULL, &key, &data, flags);
    } catch (DbException& e) {
    cerr << e.what() << endl;
    throw; // 重新抛出.
    return res;
    // 返回 Db::get()的返回值, 调用成功时 EntryData* e的值才有意义
    int get_entry_data
    (const std::string& entry_name, EntryData* e, u_int32_t flags)
    Dbt key( (void*)entry_name.c_str(), entry_name.size() + 1 );
    Dbt data;
    data.set_flags(DB_DBT_MALLOC);
    int res = db_bynam.get(NULL, &key, &data, flags);
    if(res == 0)
    new (e) EntryData( data.get_data(), data.get_size() );
    free( data.get_data() );
    return res;
    int rm_entry_data(const std::string& name)
    Dbt key( (void*)name.c_str(), name.size() + 1 );
    cout << "to remove: \'" << name << "\'" << endl;
    int res = db_bynam.del(NULL, &key, 0);
    return res;
    EntryData::EntryData(const std::string& s, const char* labels_arr[]) : name(s)
    {   // labels_arr 需要以 NULL 结尾.
    for(const char** i = labels_arr; *i != NULL; i++)
    labels.push_back(*i);
    EntryData::EntryData(const void* mem_blk, const int len)
    const char* buf = (const char*)mem_blk;
    int consumed = 0; // 已经消耗的mem_blk的大小.
    name = buf; // 第一串为 name
    consumed += name.size() + 1;
    for (string label = buf + consumed;
    consumed < len;
    consumed += label.size() + 1)
    label = buf + consumed;
    labels.push_back(label);
    void EntryData::add_label(const string& new_label)
    if(find(labels.begin(), labels.end(), new_label)
    == labels.end())
    labels.push_back(new_label);
    void EntryData::rem_label(const string& to_rem)
    LabelContainerType::iterator iter = find(labels.begin(), labels.end(), to_rem);
    if(iter != labels.end())
    labels.erase(iter);
    void EntryData::show() const {
    cout << "name: " << name << "; labels: ";
    LabelContainerType::const_iterator it, end = labels.end();
    for(it = labels.begin(); it != end; ++it)
    cout << *it << " ";
    cout << endl;
    EntryData::DataBlock::DataBlock(const EntryData& data) :
    data_size(0),
    capacity(init_capacity),
    buf_ptr(new SmartPtr(new char[init_capacity]))
    pack_str(data.name);
    for(EntryData::LabelContainerType::const_iterator \
    i = data.labels.begin();
    i != data.labels.end();
    ++i) { pack_str(*i); }
    void EntryData::DataBlock::pack_str(const std::string& s)
    int string_size = s.size() + 1; // to put sting in buf separately.
    if(capacity >= data_size + string_size) {
    memcpy(buf_ptr->buf + data_size, s.c_str(), string_size);
    else {
    capacity = (data_size + string_size)*2; // 分配尽可能大的空间.
    buf_ptr->buf = (char*)realloc(buf_ptr->buf, capacity);
    memcpy(buf_ptr->buf + data_size, s.c_str(), string_size);
    data_size += string_size;
    //////////// test_put.cc ///////////
    #include <iostream>
    #include <string>
    #include <cstdlib>
    #include "db_access.h"
    using namespace std;
    int main(int argc, char** argv)
    if(argc < 2) { exit(EXIT_FAILURE); }
    DBSetup setupup_mydb;
    int res = 0;
    EntryData ed(argv[1], (const char**)argv + 2);
    res = store_entry_data(ed);
    if(res != 0) {
         cerr << db_strerror(res) << endl;
         return res;
    return 0;
    // To Compile:
    // $ g++ -ldb_cxx -lboost_regex -o test_put test_put.cc db_access.cc directory.cc
    //////////// test_update.cc ///////////
    #include <iostream>
    #include <cstdlib>
    #include <string>
    #include <boost/program_options.hpp>
    #include "db_access.h"
    using namespace std;
    namespace po = boost::program_options;
    int main(int argc, char** argv)
    if(argc < 2) { exit(EXIT_SUCCESS); }
    DBSetup setupup_mydb;
    int res = 0;
    po::options_description cmdopts("Allowed options");
    po::positional_options_description pos_opts;
    cmdopts.add_options()
    ("entry", "Specify the entry that will be edited")
    ("addlabel,a", po::value< vector<string> >(),
    "add a label for specified entry")
    ("removelabel,r", po::value< vector<string> >(),
    "remove the label of specified entry")
    pos_opts.add("entry", 1);
    po::variables_map vm;
    store( po::command_line_parser(argc, argv).
    options(cmdopts).positional(pos_opts).run(), vm );
    notify(vm);
    EntryData entry_data;
    if(vm.count("entry")) {
    const string& entry_to_edit = vm["entry"].as<string>();
    res = get_entry_data( entry_to_edit, &entry_data );
    switch (res)
    case 0:
    break;
    case DB_NOTFOUND:
    cerr << "No entry named: \'"
    << entry_to_edit << "\'\n";
    return res;
    break;
    default:
    cerr << db_strerror(res) << endl;
    return res;
    } else {
    cerr << "No entry specified\n";
    exit(EXIT_FAILURE);
    EntryData new_entry_data(entry_data);
    typedef vector<string>::const_iterator VS_CI;
    if(vm.count("addlabel")) {
    const vector<string>& to_adds = vm["addlabel"].as< vector<string> >();
    VS_CI end = to_adds.end();
    for(VS_CI i = to_adds.begin(); i != end; ++i) {
    new_entry_data.add_label(*i);
    if(vm.count("removelabel")) {
    const vector<string>& to_rems = vm["removelabel"].as< vector<string> >();
    VS_CI end = to_rems.end();
    for(VS_CI i = to_rems.begin(); i != end; ++i) {
    new_entry_data.rem_label(*i);
    cout << "Old data| ";
    entry_data.show();
    cout << "New data| ";
    new_entry_data.show();
    res = store_entry_data(new_entry_data, 0); // set flags to zero permitting Over Write
    if(res != 0) {
    cerr << db_strerror(res) << endl;
    return res;
    return 0;
    // To Compile:
    // $ g++ -ldb_cxx -lboost_regex -lboost_program_options -o test_update test_update.cc db_access.cc directory.cc

    ////////directory.h//////
    #ifndef __DIRECTORY_H__
    #define __DIRECTORY_H__
    #include <string>
    #include <string>
    #include <sys/types.h>
    using std::string;
    class Path
    public:
    Path() {}
    Path(const std::string&);
    Path(const char* raw) { new (this) Path(string(raw)); }
    Path upper() const;
    void operator+= (const std::string&);
    // convert to string (char*):
    //operator std::string() const {return spath;}
    operator const char*() const {return spath.c_str();}
    const std::string& str() const {return spath;}
    private:
    std::string spath; // the real path
    inline Path operator+(const Path& L, const string& R)
    Path p(L);
    p += R;
    return p;
    int rmkdir(const string& path, const mode_t mode = 0744, const int depth = -1);
    #endif
    ///////directory.cc///////
    #ifndef __DIRECTORY_H__
    #define __DIRECTORY_H__
    #include <string>
    #include <string>
    #include <sys/types.h>
    using std::string;
    class Path
    public:
    Path() {}
    Path(const std::string&);
    Path(const char* raw) { new (this) Path(string(raw)); }
    Path upper() const;
    void operator+= (const std::string&);
    // convert to string (char*):
    //operator std::string() const {return spath;}
    operator const char*() const {return spath.c_str();}
    const std::string& str() const {return spath;}
    private:
    std::string spath; // the real path
    inline Path operator+(const Path& L, const string& R)
    Path p(L);
    p += R;
    return p;
    int rmkdir(const string& path, const mode_t mode = 0744, const int depth = -1);
    #endif
    //////////////////// All the code is above ////////////////////////////////
    Use the under command
    $ g++ -ldb_cxx -lboost_regex -o test_put test_put.cc db_access.cc directory.cc
    to get a test program that can insert a record to database.
    To insert a record, use the under command:
    $ ./test_put ubuntu linux os
    It will store an EntryData named 'ubuntu' and two labels('linux', 'os') to database.
    Use the under command
    $ g++ -ldb_cxx -lboost_regex -lboost_program_options -o test_update test_update.cc db_access.cc directory.cc
    to get a test program that can update the existing records.
    To update the record, use the under command:
    $ ./test_update ubuntu -r linux -a canonical
    It will update the with the key 'ubuntu', with the label 'linux' removed and a new
    label 'canonical'.
    Great thanks to you if you've read and understood my code!
    I've said that the DB_SECONDARY_BAD exception is random. The same operation may cause
    exception in one time and may goes well in another time.
    As I've test below:
    ## Lines not started with '$' is the stdout or stderr.
    $ ./test_put linux os linus
    $ ./test_update linux -r os
    Old data| name: linux; labels: os linus
    New data| name: linux; labels: linus
    $ ./test_update linux -r linus
    Old data| name: linux; labels: linus
    New data| name: linux; labels:
    dbfile_bynam: DB_SECONDARY_BAD: Secondary index inconsistent with primary
    Db::put: DB_SECONDARY_BAD: Secondary index inconsistent with primary
    terminate called after throwing an instance of 'DbException'
    what(): Db::put: DB_SECONDARY_BAD: Secondary index inconsistent with primary
    已放弃
    Look! I've received a DB_SECONDARY_BAD exception. But thus exception does not always
    happen even under the same operation.
    For the exception is random, you may have not the "luck" to get it during your test.
    So let's insert a record by:
    $ ./test_put t
    and then give it a great number of labels:
    $ for((i = 0; i != 100; ++i)); do ./test_update t -a "label_$i"; done
    and then:
    $ for((i = 0; i != 100; ++i)); do ./test_update t -r "label_$i"; done
    Thus, the DB_SECONDARY_BAD exception is almost certain to happen.
    I've been confused by the problem for times. I would appreciate if someone can solve
    my problem.
    Many thanks!
    Wonder

  • TS1702 Hi, I bought The Truth About Love album on itunes as a complete my album from my Iphone4S.  I can see the name of the album as a purchase on my Mac Notebook 2004, however I am not unable to add the music to my itouch and is doesn't show up in music

    Hi,
    I bought the Truth About Love/Pink's album on itunes as a complete my album purchase as I had bought a song from the album previously. I bought it via my Iphone 4S.  When I turn on itunes on my Mac Notebook 2004 (IOS X 10.4.11) I can see the album as a purchase but it is not listed in my library music nor can I add it to my Itouch 2nd generation.  Do you know why?  I can access the songs on my iphone but nowhere else.

    They will only be on your computer's iTunes if you put them there. If you are in a country where you can re-download music then they should show under the Purchased Link under Quick Links on the right-hand side of the iTunes store home page on your computer's iTunes. If they don't show there then you can connect your phone to your computer's iTunes and do File > Devices > Transfer Purchases to copy them over.

  • The chapter about php_db4 in the BDB documentation need to be updated

    Hi all,
    I think the chapter about php_db4 in the BerkeleyDB documentation should be updated.
    The first sentence "A PHP 4 extension for this release of Berkeley DB..." gave me the concept that the extension can be ONLY run with PHP 4. I've got the idea that DBXML's php extension can run with PHP 5, so the BDB's extension should work with PHP 5 too.(Perhaps I'm not clever enough, but it did give me the wrong thought.)
    It's too simple in the documentation to let everyone know how to sovle the problems in compile process(and such subjects are hard to be found through search engines).
    I had compiled BDB 4.5 on my Fedora Core 6. When I make the php_db4, it could not finish normally(with some errors). When I added CPPFLAGS=-DHAVE_CXX_STDHEADERS, it solved - this should be written somewhere in the documentation or at lease in the INSTALL file, right?
    In the INSTALL file, it says "PHP can itself be forced to link against libpthread either by manually editing its build files (which some distributions do), or by building it with --with-experimental-zts". But at least I can't find this option in the configure of PHP 5.2.1. Only an option '--enable-maintainer-zts' can be found, and it is noted as 'for code maintainers only'(so it should not be enabled by end-users with less experience, isn't it?). PHP 5.2.1's TSRM is ptheads-enabled by default, I don't know whether I should follow the note about pthreads or not.
    Anyway, I can use the native API of BerkeleyDB in my php code now. Thanks for the developers! Hope the documentation can be updated with more directives, so the new users of php_db4 can use it more smoothly:-)

    nikkap wrote:
    I haven't updated to the latest software because I didn't want my google maps to change to the new version they made with poorer directions.
    To each their own, but you can always install the Google Maps app.
    nikkap wrote:
    I also didn't want to lose battery charge quicker and didn't want certain functions to cease working like wifi which I've heard has been a problem.  It just seems that since my phone is so 'old' that updating it could cause more harm than good. 
    Nothing is further from the truth.  Installing updates does not cause hardware issues or hardware to stop working.  Anyone that tells you otherwise is completely ignorant.
    I (and millions of others) have installed iOS updates with little or no adverse affects.  The vast majority of issues that arise during an iOS update can be rectified with basic troubleshooting from the User's Guide.
    There is no legitimate reason to not update the iOS which adds new features and fixes security issues in iOS.
    nikkap wrote:
    My other problem is that someone proxied the call to ATT to obtain the unlock so I don't know exactly what happened and if in fact they did agree to unlock or perhaps lied instead or did something else.  But I don't have the account information for ATT since it's a group account so i'm SOL. 
    Well, there you go.  You need to contact AT&T or get the correct information and go to AT&T's website and request the unlock.
    There are no codes, as you've already found out.
    Once the unlock has been approved, AT&T will email you to let you know it has been processed and that the next step is to restore the device.

  • Hi have just purchased iphone 4s . my itunes on my mac is currently 10.4 . 10.5 is needed for the new iphone but when i download it and click on install the itunes about still says 10.4 . have tried to update through itunes but it says there is no softwar

    hi have just purchased iphone 4s . my itunes on my mac is currently 10.4 . 10.5 is needed for the new iphone but when i download it and click on install the itunes about still says 10.4 . have tried to update through itunes but it says there is no software available for me . please help . mr frustrated

    If your computer is running an OS X prior to Snow Leopard 10.6,
    the answer (if it is an Intel-based Mac; not old PowerPC model)
    would be to buy the retail Snow Leopard 10.6 DVD from Apple
    for about $20, and install it. Then update that to 10.6.8 by using
    the installed Snow Leopard online to get Combo Update v1.1 for
    Snow Leopard 10.6.8. After that is installed & updated, run the
    system's Software Update again, to see what else is available to
    that system.
    Later systems can then be looked into at Mac App Store, once
    the computer is running Snow Leopard 10.6.8.
    And if your computer is a Power PC (G4/G5, etc) and has no
    Core2Duo kind of CPU -- See "About this Mac" in apple menu
    to disclose the general info about your Mac. Also you can see
    even more by clicking on "More Info" when looking in there...
    If it isn't an Intel-based Mac, it can't run a system past 10.5.8.
    Hopefully this helps.
    Good luck & happy computing!

  • How do I set the placementID of portlet at runtime?

    Hi,
    I want to know the position of portlets on the page.
    Below is my requirement,
    I have 2 column layout on my page and each column has 3 different portlets. So when the first time it loads page load the page user see some portlets on each column, when user revisit that page I have to change the position of portlets in short I can say I have to shuffle the portlets at run time.
    Approach which I have decided and in which I require more help is like,
    Whenever user visit the page Backing file which run and it is store positions of portlets I am able to get position of portlet using following code,
    portletbc = deskbc.getPortletBackingContextRecursive("PORTLET_INSTANCE");
    String placeID = portletbc.getPlacementId();
    This I store in DB so whenever user revisit or refresh the page from the backing file I read the DB and if placementID of the portlet is same then I shuffle placementID. So here comes the problem or I require help...
    How do I set the placementID as I am not able to find out way to do it. So, can you please let me know how to set portlets placementID.
    Thanks in advance.
    HJ

    Check out the movePortlet method on PortalCustomizationManager:
    [http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/javadoc/com/bea/netuix/application/manager/persistence/PortalCustomizationManager.html]

  • I just got a new MacBook Pro, and I tried to bring across my files from my last mac using time machine. After it was done copying I can't find my files anywhere but the space (about 130gb) has been used on my hard drive. Help please!!

    I just got a new MacBook Pro, and I tried to bring across my files from my last mac using time machine. After it was done copying I can't find my files anywhere but the space (about 130gb) has been used on my hard drive. Does anyone know how I can get to them? I did change my user name from 'user' while it was copying, could this have something to do with it?

    You don't want to do that by copying.
    Your best bet, by far, is to use Setup Assistant.  If your Mac is running Snow Leopard, see Using Setup Assistant on Snow Leopard or Leopard.
    If it came with Lion, it's a bit different: Using Setup Assistant on Lion

  • How can I see the information about a file used in a sequence?

    How can I see the information about a file used in a sequence?

    You can use pretty much any two or multiple button mouse on a Mac, right out of the box.
    I use this one: http://www.apple.com/mightymouse/

  • How can I access the savestore.js contents if the command about:sessionrestore shows a blank box even for already succesfully used backups?

    -------------------------------------------------------------------------------------------------------------------------------------------
    How can I access the savestore.js contents if the command about:sessionrestore shows a blank box even for already succesfully used backups?
    Is there a recent known problem with the about:sessionrestore command or is there any other way understandable to Firefox 29.0.1 through which recover the information stored in the sessionstore.js files.
    It seems the command about:sessionrestore is not capable anymore to read the contents of the sessionstore.js file present in the user profile folder.
    The box where windows and tabs should be listed is empty.
    I tried to paste a few old sessionstore.js files in the user directory while the firefox.exe process was not active, then opened Firefox again and tried to launch the about:sessionrestore command without any result.
    I think the files are not corrupted because I used most of them in other occasions and I stored them in folders not connected to the common use of any process.
    Also, I already successfully used the about:sessionrestore command in Firefox 29.0.1 in a few other occasions.
    I did a "clean reinstall" of Firefox 29.0.1 and the box contained in the tab where about:sessionrestore is executed is still empty even if the files themselves contain such information as tabs location and html addresses.
    After this I recovered the profile data I had stored in another folder and this is what you can see attached to this question.
    ---------------------------------------------------------------------------------------------------------

    If I select the "show my windows and tabs from last time" option in the startup settings the contents of any savestore.js file i paste in the user profile folder are opened without any problem.
    still, the box in the tab loaded by the about:sessionrestore command is blank and empty, so it's not possible to "de-select" any window or tab. it's necessary to find an editor to modify session backup files which may contain "bad addresses".
    does such an editor already exists?

  • Hi everyone, I have LR 5 that I purchased with a serial number and about a week ago I got the message about a new update, I want to get LR 6 but not the creative cloud, last time from LR4 to LR5 there was just an update without buying the creative cloud,

    Hi everyone, I have LR 5 that I purchased with a serial number and about a week ago I got the message about a new update, I want to get LR 6 but not the creative cloud, last time from LR4 to LR5 there was just an update without buying the creative cloud, is that possible from LR5 to LR6? Thanks so much.

    Welcome to Apple Discussions!
    You can't install 9.2.1 or earlier on any Mac that is only Mac OS X bootable. In fact you need to use the restore disks which came with those Macs to install 9.2.2 on those Macs. 8.6 is only possible to install on Macs which came with 8.6 or earlier. The 9.1 disk may be useful for your 1999 PowerMac G4, but won't be of any use for a 2006 Powerbook G4.
    Adobe Pagemill does not follow w3.org web publishing standards. If you want a webpage editor, get http://www.barebones.com/ BBEdit
    MS Office, there is a free Mac OS X alternative in http://www.neooffice.org/
    Or you can upgrade to the full Office 2004 for the Mac, or get http://www.thinkfree.com/ or Open OS X Office.
    Wordperfect files can be converted to Word files with http://www.dataviz.com/ 's Maclinkplus.
    Microsoft no longer has Internet Explorer for download (that quit being offered January 2006), though that is covered more in my FAQ:
    http://www.macmaps.com/browser.html
    As for other Mac OS X inquiries, I strongly recommend seeing my other FAQ:
    http://www.macmaps.com/macosxnative.html
    which should answer most of your other questions. If you have further questions, please feel free to ask me.
    Disclaimer: Reference to links I make to my Macmaps.com website are a for your information only type reference. I do not get any profit from this page, and it is open to the public.

  • The Favourite Content Portlet could not be populated.

    Hi all,
    I am new in PORTAL, I made an Instant portlet which was working fine. But then started an error occuring when I view the Portal Page:
    "The Favorite Content Portlet could not be populated.<br/><br/>Error Message<br/>."
    This error is show in a dialog box when ever I view page or navigate to other tabs(subpages) of portal.
    When I diagnose I got that this error is in "Main Navigator". If I delete the Main Navigator from Portal this error does not occur. But without Navigator subpages(tabs) cannot be visible.
    This is the case when I make new INSTANT PORTAL.
    Please Help urgent!!!!!!!!!!!!
    Thanks,
    Fahim

    I strongly recommend upgrading to the 3.0.9 release (iAS
    1.0.2.2) with the 3.0.9.8.2 patch (this patch should be
    available for NT/2000 this week). Also, the database should be
    running 8.1.7.1 (or later), as explained in the iAS release
    notes.
    Regards,
    Jerry

  • The Favorite Content Portlet could not be populated

    Hi all,
    I am new in PORTAL, I made an Instant portlet which was working fine. But then started an error occuring when I view the Portal Page:
    "The Favorite Content Portlet could not be populated.<br/><br/>Error Message<br/>."
    This error is show in a dialog box when ever I view page or navigate to other tabs(subpages) of portal.
    When I diagnose I got that this error is in "Main Navigator". If I delete the Main Navigator from Portal this error does not occur. But without Navigator subpages(tabs) cannot be visible.
    This is the case when I make new INSTANT PORTAL.
    Please Help urgent!!!!!!!!!!!!
    Thanks,
    Fahim

    I strongly recommend upgrading to the 3.0.9 release (iAS
    1.0.2.2) with the 3.0.9.8.2 patch (this patch should be
    available for NT/2000 this week). Also, the database should be
    running 8.1.7.1 (or later), as explained in the iAS release
    notes.
    Regards,
    Jerry

Maybe you are looking for