Suggestions For Handling Bulk Updates Without Blocking Local User Updates

Hi,
This is a request for general implementation suggestions.
We have a CRM database that is used by a call center application to allow reps to update customer info during business hours.  Outside of business hours we receive data feeds from another source that are bulk uploaded into the database to refresh the
data. This has been working fine for now, but we are expanding the use of the app to offices in other countries and are beginning to encounter more blocking during the bulk upload because now the app is being used outside our local business hours because of
the time difference.
It seems this would be a common problem, but I haven't been able to identify a good source of information on methods to overcome this. 
What suggestions do people have to complete bulk loads while still allowing updates by local users?
Ideas I have been considering include duplicating the database and performing merge replication, using service broker to queue updates during the bulk load, using snapshot isolation or isolation levels with row versioning....
Any ideas would be greatly appreciated.
Thanks,
Reinis

I have considered trying to break the update into chunks, but my fear as you said is it will take a lot longer.
Quite a few years ago, I rewrote a process in our system to make it a set-based update for better performance. But I heard as late as today from our customer with the biggest volumes, that they are still running the old process which updates one by one,
because when they do all at once the blocks other operations. (Which admittedly is due to other shortcomings in the system.)
Anyway, I would recommend you to look into that, and particularly make the chunks size configurable. Maybe you are able to find a sweet spot where blocking is not a problem, but the chunks are till big enough to be efficient.
Both of those resolutions are feasible and I certainly know there will be significant changes we may have to undertake.  I was just thinking that this must be a really common issue now with the global reach of data and there must be people who have
handled it in different ways.
It's not really a simple problem, and the solution is likely to depend on the current architecure you have. What fits in one shop, may not fit in another. And most of all, one solution may be a lot less costly to implement than another.
Erland Sommarskog, SQL Server MVP, [email protected]

Similar Messages

  • A suggestion for handling optdepends.

    [UPDATE]
    I've rewritten this post to present the idea more clearly.
    [/UPDATE]
    I've submitted a feature request: http://bugs.archlinux.org/task/12708
    If you like this idea, please express your support there too.
    The Current Situation
    The pacman database contains a file named "depends" in each package's directory which specifies the package's depends in the following format:
    %DEPENDS%
    foo
    bar
    this
    that
    Pacman reads this file and creates an internal representation of this list for the package which it uses during the sync operation to handle dependencies. Each package may also list optional dependencies which provide further functionality for the package without being required to use the package. Let's take gimp as an example:
    pacman -Si gimp
    Depends On : gtk2>=2.14.4 lcms>=1.17 libxpm>=3.5.7 libwmf>=0.2.8.4 libxmu>=1.0.4 librsvg>=2.22.3 libmng>=1.0.10 dbus-glib>=0.76 libexif>=0.6.16 pygtk>=2.13.0 desktop-file-utils gegl>=0.0.22 curl
    Optional Deps : gutenprint: for sophisticated printing only as gimp has built-in cups print support
    libwebkit: for the help browser
    poppler-glib: for pdf support
    hal: for Linux input event controller module
    alsa-lib: for MIDI event controller module
    If you want to install libwebkit to use gimp's help browser, you have 2 choices:
    pacman -S libwebkit
    pacman -S --asdeps libwebkit
    With the first choice, libwebkit will clutter the list of explicitly installed packages ("pacman -Qet"). With the second choice, libwebkit will be considered an orphan and will be listed in "pacman -Qdt", which not only means it clutters that list but it also means that you can no longer purge orphans with "pacman -Rs $(pacman -Qqdt)".
    In both cases, when you uninstall gimp, you must remember to uninstall libwebkit too, because pacman doesn't know that you installed it as a dependency for gimp.
    This may not be a problem for one package, but it will once the number or optdepends you have installed increases.
    My Suggestion
    Create an optdepends database in /var/lib/pacman/optdepends/ that follows the same format as the current depends files:
    %OPTDEPENDS%
    foo
    bar
    this
    that
    Add a function to pacman to check if a package has an entry in the optdepends database.
    During a sync operation, treat any optdepends specified in the optdepends database as if they had been specified in the depends file.
    Add a "--getoptdeps" flag to pacman to enable interactive installation of optdepends for a given package that follows the same pattern as the current group installation dialogue.
    Store the results of this dialogue in the optdepends database.
    Let's take gimp as an example again. You know that gimp has an optdepend that you want, so you do this:
    pacman -S --getoptdeps gimp
    gimp package found, checking optdepends
    :: gimp has the following optdepends:
    gutenprint: for sophisticated printing only as gimp has built-in cups print support
    libwebkit: for the help browser
    poppler-glib: for pdf support
    hal: for Linux input event controller module
    alsa-lib: for MIDI event controller module
    :: Install whole content? [y/N] n
    :: Install gutenprint as optdepend for gimp? [y/N] n
    :: Install libwebkit as optdepend for gimp? [y/N] y
    :: Install poppler-glib as optdepend for gimp? [y/N] n
    :: Install hal as optdepend for gimp? [y/N] n
    :: Install alsa-lib as optdepend for gimp? [y/N] n
    Retrieving libwebkit...
    Libwebkit will now be handled exactly as if it were a true dependency of gimp. It is neither explicitly installed nor an orphan. It will get removed with gimp unless it's a depend or optdepend for another package.
    /var/lib/pacman/optdepends/gimp/optdepends now looks like this:
    %OPTDEPENDS%
    libwebkit
    The Benefits of This Method
    Default pacman behavior remains unchanged.
    Most of the code is already in place (depends file parser, package selection dialogue, dependency handling during sync operation)
    The existing databases (local, sync) would not require any changes.
    The only extra overhead would be checking if a package has an entry in the optdepends database.
    Users can define their own optional dependencies by adding them to the optdepends database (manually or with provided tools)
    This opens the doors for metapackages to replace groups.
    About Metapackages
    A metapackage is a package that contains nothing itself but organizes other packages. For an example of how these work on Arch, take a look at metapax.
    Every package group could be converted to a metapackage if this suggestion were implemented. To understand the benefits of using metapackages instead of groups, we need to consider how groups currently work.
    When you install gnome, this is what happens:
    pacman -S gnome
    gnome package not found, searching for group...
    :: group gnome (including ignored packages):
    epiphany gnome-applets gnome-backgrounds gnome-control-center gnome-desktop gnome-icon-theme gnome-media gnome-mime-data gnome-mount gnome-panel gnome-python gnome-screensaver gnome-session gnome-settings-daemon
    gnome-themes gnome2-user-docs libgail-gnome metacity nautilus notification-daemon yelp
    :: Install whole content? [Y/n] n
    :: Install epiphany from group gnome? [Y/n] y
    :: Install gnome-applets from group gnome? [Y/n] y
    :: Install gnome-backgrounds from group gnome? [Y/n] y
    :: Install gnome-control-center from group gnome? [Y/n] y
    :: Install gnome-desktop from group gnome? [Y/n] y
    Most users will install all of the packages, others won't. In either case, once the packages are on your system, pacman has no concept of the gnome "group". Each package is effectively independent of the gnome group. If a new package is added to the gnome group, for example "gnome-somenewpackage", pacman will not install it during your next update. It won't even ask you about it or tell you that there is a new package. There have been questions on this forum from users wondering why new gnome packages weren't installed automatically. This applies to all groups... kde, xorg, xfce, etc.
    If we instead replaced groups with metapackages, each package in the group would become an optdepend of the metapackage. With my suggestion, this would lead to exactly the same dialogue as above. Each package in a metapackage would remain optional just as packages in groups currently are. The advantage would be that if "gnome-somenewpackage" is added to the gnome metapackage, it would be possible to inform the user during an update and prompt for installation.
    Here's the discussion on flyspray about groups vs metapackages: http://bugs.archlinux.org/task/8242
    Notes on Metapackages
    The only complicated parts of handling metapackages are the following:
    If a package is a metapackage, it should be detected during installation and automatically jump to the optdepends dialogue in order for it to behave exactly as groups do.
    During a metapackage update, there should be a way to inform the user of new optdepends, but this might be as simple as including an upgrade message in the package install file.
    Last edited by Xyne (2009-01-13 16:20:52)

    No, this wouldn't affect a packages "true" dependencies in any way.
    Packages now have 2 types of dependencies, "depends" and "optdepends". "depends" are installed with the package and are required for the package to run. "optdepends" just display message during installation to the effect of "optional dependencies for this package: foo - for foo support, bar - for bar support, baz - for web access and printing". "gimp" is an example of a package with optional dependencies.
    As it is right now, optional dependencies are nothing more than installation messages. If you decide to install optional dependencies for a given package, they are completely independent of the target package. Let me give a concrete example:
    pacman -Si gimp
    Depends On : gtk2>=2.14.4 lcms>=1.17 libxpm>=3.5.7 libwmf>=0.2.8.4 libxmu>=1.0.4 librsvg>=2.22.3 libmng>=1.0.10 dbus-glib>=0.76 libexif>=0.6.16 pygtk>=2.13.0 desktop-file-utils gegl>=0.0.22 curl
    Optional Deps : gutenprint: for sophisticated printing only as gimp has built-in cups print support
    libwebkit: for the help browser
    poppler-glib: for pdf support
    hal: for Linux input event controller module
    Ok, I want to install gimp and I want libwebkit to be able to use gimp's help browser. I have 2 options right now:
    Option 1:
    pacman -S gimp libwebkit
    libwebkit is now installed as an explicit package.
    Option 2:
    pacman -S gimp
    pacman -S --asdeps libwebkit
    libwebkit is now installed as a dependency.
    With option 1, libwebkit clutters my list of explicitly installed packages (pacman -Qet). With option 2, it is considered an orphan by pacman and would be removed with an orphan purge ("pacman -Rsn $(pacman -Qqdt)"). In both cases, if I remove gimp, libwebkit stays on my system even though I only want it for gimp. It will not be removed with "pacman -Rs gimp" because pacman has no idea that it has anything to do with gimp.
    My suggestion therefore it to create a way for pacman to treat selected optdepends as depends. Given the gimp example, what this would mean for the user is that when the user runs "pacman -S gimp", it would present a dialogue as follows:
    gimp has the following optional dependencies:
    gutenprint: for sophisticated printing only as gimp has built-in cups print support
    libwebkit: for the help browser
    poppler-glib: for pdf support
    hal: for Linux input event controller module
    Would you like to install these optional dependencies? [y/N] y
    Install all optional dependencies? [y/N] n
    Install gutenprint? [y/N] n
    Install libwebkit? [y/N] y
    Install poppler-glib? [y/N] n
    Install hal? [y/N] n
    retrieving libwebkit...
    libwebkit would now be treated as if it had been specified in gimp's depends array. When you uninstall gimp, it would be removed with gimp just as gimp's other dependencies.
    There would also be tools to add optional dependencies to a package later (either with pacman or something else... I'll gladly contribute something to do this), so if you want to add gutenprint to gimp later, you could and then let pacman grab it as a dependency of gimp.
    Again, this has nothing to do with "true" dependencies of packages. This is just a fix for the kludge now known as "optdepends".
    First, let's look at what happens when you install the gnome
    pacman -S gnome
    gnome package not found, searching for group...
    :: group gnome (including ignored packages):
    epiphany gnome-applets gnome-backgrounds gnome-control-center gnome-desktop gnome-icon-theme gnome-media gnome-mime-data gnome-mount gnome-panel gnome-python gnome-screensaver gnome-session gnome-settings-daemon
    gnome-themes gnome2-user-docs libgail-gnome metacity nautilus notification-daemon yelp
    :: Install whole content? [Y/n] n
    :: Install epiphany from group gnome? [Y/n] n
    :: Install gnome-applets from group gnome? [Y/n] y
    :: Install gnome-backgrounds from group gnome? [Y/n] y
    :: Install gnome-control-center from group gnome? [Y/n] y
    :: Install gnome-desktop from group gnome? [Y/n] y
    :: Install gnome-icon-theme from group gnome? [Y/n] y
    :: Install gnome-media from group gnome? [Y/n] n
    :: Install gnome-mime-data from group gnome? [Y/n]
    After the installation, each of those packages is treated as an independently installed package. The "group" gnome only exists when you select packages for the initial installation. There have been threads on this forum posted by users who didn't understand why "pacman -Syu" failed to retrieve packages that had been added to the gnome "group". That's because pacman simply updates the existing packages and doesn't know about groups once their on the system. If they add "gnome-some-new-package", you have to either run "pacman -S gnome" again and either re-install all the packages or run through the dialogue until you get to the new package, or you have to explicitly install any new packages directly. You need to find out when a new package has been included in gnome too, because there is no way for pacman to know this (I posted a script somewhere to check if you have all packages in a group, forgot where though).
    The idea of a metapackage is that it is an empty package that simply specifies other packages as dependencies (i.e it contains no files, just package information). That's what metapax creates (http://bbs.archlinux.org/viewtopic.php?id=53788). If a gnome metapackage is created with metapax, the user can install it and get all of the packages in gnome. If a new package is added to the gnome metapackage, this package will be retrieved on the next sync update. The user doesn't need to regularly check that he has everything in gnome because the metapackage handles all the packages in gnome.
    The problem with this approach is that everything it specifies is a "depends", so you have to include everything. With "optdepends" though, you would get a similar dialogue to the one when installing a group (as my example above for gimp), but the installed metapackage would have all of the advantages of a package when syncing and uninstalling.
    Users would also create their own metapackages. Lets say that you would like to create a custom DE from existing packages so that you can quickly install a simliar desktop on different systems. You could create a metapackage with your window manager, text editor, image viewer, video player, etc. You could then simply install that package on different machines and be presented with the choice of which components you'd like to install. You could distribute this over your network with a local user repository. If you later want to add another package to it, that package could be optionally included on the different machines during the next update.
    Last edited by Xyne (2009-01-11 18:03:10)

  • Suggestion for a future update

    Hey guys. Not sure where to post this, so mods, if you read, move it where you deem appropriate (just please, not in the trash!)
    I've had my iPhone since day 1, and there are really only 2 glaring things wish, given my usage of the iPhone, would make things awesome!
    1.) The ability to set mail to check for messages on edge as well as for wireless
    i.e. set the phone to check every "x" minutes on edge, and every "x"minutes on wireless. I keep edge turned off to save battery, but, when in Wifi, I like to have it check as often as my laptop. Plus, a time like "Every 5 minutes" as a minimum would be nice.
    2.) When using dock as output for music, allow the side buttons to change tracks instead of volume.
    i.e. when I am in my car, the volume meter on the iphone does not change the speaker volume, thus rendering the side buttons useless. It would be nice to be able to set them to other functions, a la previous/next track, play/pause, etc. That way I wouldn't have to unlock the phone and fumble for the touch-screen button while driving. Tactile buttons=safety on the road.
    What do you guys think? These fixes are easy tweaks, in my opinon, and would make the iPhone perfect (for me). Oh, and my .02 for the iPhone update? Apple is probably trying to get the international settings tweaked so that, when the iPhone hits Europe, the models are the same spec. It only makes sense, and, from Apple's standpoint, it is better to get those international tweaks fixed before they ship millions of phones to Europe than to have to do remote fixing in Europe. I may be wrong, and no, I don't have a source, just a hunch. "Internationalizing" stuff is always the hardest part of programming, when it comes to interface commands. Sometimes direct translations don't make sense, and can be downright wrong in other languages. But, anyways...cheers!

    This link is the better avenue for this.
    http://www.apple.com/feedback/iphone.html

  • Some Suggestions for the new Update BB 10.3.1

    hello everyone here ..
    I have some Notes and suggestions and things I hope Integrate and modify in the new update soon..
    - we need more than one font like ios7 in BlackBerry 9900 specially the new arabic font its very sucks and bad
    - we need more than one style for keyboard
    - receive notification from application like telegram and all application in Hub directly like bbm and whatsapp
    - the arabic keyboard in 10.3 it not same 10.2 - some key change location not like before and that bad we need the orginal arrangement like BlackBerry q10 arabic keyboard and 9900
    - Arabic keyboard it very very tight and small compare the english keyboard
    - support application for vpn like hotspot shield or another solution because some application blocked in some countries
    - support change the keyboard and android keyboard
    - the bbm application sometimes became slow when typing
    and thank you Blackberry.

    I agree with you,

  • Suggestions for improving this update in batches of 100 records

    I'm currently using the following PL/SQL code to update batches of records in groups of 100 records at a time.
    - DB Version : Oracle9i Enterprise Edition Release 9.2.0.7.0
    - There is an index on columns : AHS_CONTACT_TYPE, SYNCSTATUS
    - I have to commit the records in batches of 100
    -- Mark all the Agents "In Process" (regardless of Owner)
    -- Update last_modified_by_id to 'SALESFORCE_LOADED' if the
    -- last_modified_by_id column is 'SALESFORCE_SYNC' and
    -- the ID column is NOT NULL
       ln_count := 0;
       FOR C IN (SELECT tmpsf_CONTACT.ROWID
                   FROM tmpsf_CONTACT
                  WHERE ( AHS_CONTACT_TYPE = c_sfContactType_AGENT ) AND
                         ( SYNCSTATUS <> c_sfsyncstatus_IN_PROCESS )
       LOOP
          UPDATE tmpsf_CONTACT
             SET SYNCSTATUS = c_sfsyncstatus_IN_PROCESS,
                 LAST_MODIFIED_BY_ID = decode( LAST_MODIFIED_BY_ID, c_username_SALESFORCE_SYNC,
                                                            decode( ID, NULL, LAST_MODIFIED_BY_ID,
                                                                        c_username_SALESFORCE_LOADED),
                                                            LAST_MODIFIED_BY_ID)
           WHERE ( tmpsf_CONTACT.ROWID = c.ROWID );
          -- Commit every 100 records       
          IF (ln_count >= 100) THEN
             COMMIT;
             ln_count := 1;
          ELSE
             ln_count := ln_count + 1;
          END IF;
       END LOOP;
    -- Catch last batch with any records less then 100
    COMMIT;Does anyone have any suggestions about further improving this performance?
    Thanks,
    Jason

    Okay, I have to do it batches per our DBA group.
    This is not up for debate...unfortunately. Their
    r reasons :
    - To keep the rollback segment small Very small apparently, in fact in this test, updating 100 rows of 2 varchar2(200) columns uses 56 KB of rollback. Updating the whole 10,000 rows uses 5 MB. Is this database running on a pocket USB flash drive? Currently costing $30 for 512 MB from Amazon
    http://www.amazon.com/gp/product/B0000B3AKR/qid=1136558252/sr=8-2/ref=pd_bbs_2/103-9580563-3995040?n=507846&s=electronics&v=glance
    SQL> create table t as select rpad('x',200,'x') a, rpad('y',200,'y') b
      2  from dual connect by level <= 10000;
    Table created.
    SQL> update t set a = replace(a,'x','y'),
      2    b = replace(b,'y','x')
      3  where rownum <= 100;
    100 rows updated.
    SQL> select
      2      used_ublk undo_used_blk,
      3      used_ublk * blk_size_kb undo_used_kb,
      4      log_io logical_io,
      5      cr_get consistent_gets
      6  from
      7      v$transaction, v$session s,
      8      (select distinct sid from v$mystat) m,
      9      (select to_number(value)/1024 blk_size_kb
    10          from v$parameter where name='db_block_size')
    11  where
    12      m.sid       =   s.sid
    13  and ses_addr    =   saddr;
    UNDO_USED_BLK UNDO_USED_KB LOGICAL_IO CONSISTENT_GETS
                7           56        337             227
    SQL> rollback;
    Rollback complete.
    SQL> update t set a = replace(a,'x','y'),
      2    b = replace(b,'y','x');
    10000 rows updated.
    SQL> select
      2      used_ublk undo_used_blk,
      3      used_ublk * blk_size_kb undo_used_kb,
      4      log_io logical_io,
      5      cr_get consistent_gets
      6  from
      7      v$transaction, v$session s,
      8      (select distinct sid from v$mystat) m,
      9      (select to_number(value)/1024 blk_size_kb
    10          from v$parameter where name='db_block_size')
    11  where
    12      m.sid       =   s.sid
    13  and ses_addr    =   saddr;
    UNDO_USED_BLK UNDO_USED_KB LOGICAL_IO CONSISTENT_GETS
              626         5008      31898             594
    SQL>>
    - To prevent tying up the entire table
    They don't know much about Oracle these DBAs do they, what exactly do they mean by "tying up the table"?
    Maybe they didn't get past the 2 Day DBA manual to the Concepts guide yet?
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14220/consist.htm#i13945
    >
    - And the most important, replicated transactions
    must be reasonably small for throughout across the
    WAN
    I don't know what replication engine is being used, but the loop approach uses a huge amount more of REDO than a simple set based update. Most replication applies the REDO to the remote database to synch it up. The loop will cause more data to be transferred over the WAN than a single update.
    >
    Either way, I want to optimize this code as much as
    possible. In fact, today I found a need to do a
    similar update again...
    Just do the update. It uses less resources and is faster becasue of it. The slow approach does not use fewer database resources because you are throttling it. It is slower because it requires more of everything.

  • Suggestion for next firmware update - Nokia 5800

    If anyone from nokia is reading this in the next firmware update for the Nokia 5800 XM can we have the facility of have the name of the title track of a song scroll from left to right whilst the song is playing, as at the moment it scrolls once and then stops so if its a song with a long title all you can see is just half the title after its scrolled once, and also maybe a way as the song is playing of seeing the details of the song playing (like the tags for artist, Kbps, song title, album name) by clicking the onscreen softkey/options button. And also this can be extended to the contacts list where the name will scroll from left to right to show the full contact name when you press on it, at the moment it doesn't do that.

    Unfortunately the care centres are the only people that can help you.
    Any other methods that you may read about on other forums will void your warranty and cannot be discussed here.

  • Any new ideas or suggestions for flattening layer effects without changing appearance

    Hello all,
    I've been doing a lot of looking around for ideas on how to make my work flow more simple. I regularly run into an issue with layer effects when they are flattened and have been unable to find any good solutions but was wondering if any new developments have come up with the newer versions of Photoshop that I am somehow overlooking?
    My main issue is that when I flatten layers in sections or groups (i.e. flatten only 2 or more layers together in a larger composition but not the entire compostion), layer effects with blending modes often flatten strangely. I particularly notice this with drop shadows as I often use a color other than black, usually a very dark shade of the color that is applied to the element the shadow is overlapping. To me it gives it a much more realistic and natural look. When I flatten a layer I notice that it appears the multiply mode is stripped from drop shadow FX unless they are flattened with the nackground element, so if I used a dark blue for example, once flattened the shadow is now a distinct blue shade that appears to be in normal blending mode. I can set that drop shadow layer to multiply to restore it but then I have to keep the drop shadow element on it's own layer seperate from the body of the other flattened content otherwise it inherits the multipoy mode as well of course, which still leaves me with an unwanted layer to deal with.
    My curreny solutions range from hiding all other layers and merging visible, which works from some things but not the aforementioned drop shadow issue, I will also keep things that just don't co-operate on their own seperate layer, like the drop shadow and just leave them be if I can. In cases where that isn't an option I will even hide all other layers and comp the portion of the PSD  that needs flattened to a seperate TIFF or PNG and import back into the PSD. Sometimes this will work around the issue and make everything interact as desired. It's a lenghty affair though that involves mental acrobatics every time to devise a suitable workaround that I can use for my purposes.
    The reason I need to do this often is because I work for a web development company as the designer. Once the design is done sometimes I will do the slicing and prepping for web (not an issue when I do this because I can leave everything as a PSD). When other team members like the web developer need access to the graphics files though, they use Fireworks which means I need a layered PNG so they can slice as needed with the software they are familiar with while maintining transparency where needed.
    I know some will say just to use Fireworks then but that isn't a desireable solution to me because I find Fireworks very limiting on the advanced Fx and graphic manipulation. I agree that Fireworks can be very capable and can do very nice things when you're thinking of the design of the entire site in general, but it usually can't do the advanced fx and manipulation I like to use for the "eye candy" portions of the site, especially when you are using mutiple Fx on a layer with their own blending modes. I find it more of a hassle to build a general site in Fireworks and import elements from Phoroshop. Keeping track of proper sizing and constantly loading placeholder background images to photoshop for reference isn't for me!
    I have a pretty decent understanding of how the layer flattening works and how the blending modes function (like the fact you can't have mutiple blending modes on a single layer, thus many of the issues with layer Fx blending modes). I am using CS5.5 Design premium and am hoping there have been some advances in working with this type of thing. I know that if I could flatten the drop shadow layer with the layer it overlaps that would solve the issue nicely but this is seldom possible on websites where you have fluid areas that need to change size and the image element with the drop shadow may not always be in the same place on the site background.
    It would be awesome if, since you have the ability to apply blending modes to individual layer effects, if Photoshop could have a setting to somehow flatten the layer effects and layer in it's own self containted process and then place the flattened layer within the the PSD as if you imported a transparent image like a TIFF or PNG. This is basically what I do on the extreme side of tihngs manually when needed. It would be great if there was a way to automate that type of functionality.
    Does anyone know of any new or good method to deal with this type of thing? Sorry about the long post, I was trying to be as detailed as possible as I know it's sometimes easy to misunderstand what someone is asking with this type of question. Thanks to everyone for taking the time to read/respond!

    Hi Noel,
    Thanks for the reply. The reason I need to do things this way is because of the workflow at my company. I need to be able to convert my photoshop PSD files in Fireworks and have the layers behave predictably. Trying to open a PSD file as is in Fireworks, while keeping the layer flexibility intact usually creates all kinds of chaos, ranging from Fireworks flat out ignoring some layer effects to drastically changing them. I assume because Fireworks way of intrepreting some setting numerically is different than Photoshop and because Fireworks doesn't even have some of the effect properties at all.
    The web developers need to have layered PNG files so they can slice re-slice and move elements around as needed white they develop a website. They need to maintain transparency on the seperate elements of the website mockup so that they can reuse and move elements around as needed. At times I end up doing the CSS layout on a site and in those cases it doesn't matter becuase I can work straight from the PSD and export elements straight to PNG files etc as needed. It's when I need to provide the development team with a Fireworks PNG version of the website mockup that I have these issues.
    For example and to clarify, I may have a website interface designed that has several fancy buttons or a header element with drop shadows on them or that overlap a background element in some way. If I am doing the coding on the site I can simply hide all other layers than the releveant ones, flatten visible to maintain transparency, save for web etc and I have the element complete with a nice drop shadow ready to drop into the code. If the developers are doing the slicing and layout though, they don't know how to use Photoshop (and aren't going to be learning anytime soon) but they do use Fireworks... so they want the site in fireworks, complete with the ability to hide background elements or other parts of the site that may be in the way of making the proper PNG for that button or other element that maintains transparency AND keeps the drop shadow, the proper color and transparency as well.
    What typically happens if I don't flatten each element of the site design before importing into Fireworks is that it will look very different in Fireworks, but being web developers (lol!) they don't notice or maybe even care that something looks weird or appears to be missing a shadow or other effect. Then once the site goes live, the client DOES notice it and I end up scrambling to fix the issue. That usually means going back to the PSD in a rush and trying to flatten all the elements anyway to convert to a nice Fireworks PNG so they can recapture their slices, or taking the slice they used on the website and pasting it into the PSD original so I can make a direct match and converting the element myself after the fact.
    In order to avoid these work flow issues and embarrassments I have taken to flattening each individual element (i.e. a button and all of it's effects) of website GUI to ensure Fireworks can't fiddle with it on import. I can then give the web developers a PNG they can slice easily but with all the important elements still completely seperate from one another. If they hide the layer that is the shopping cart button for example, they are going to be hiding the button and it's drop shadow or glow or any other effects. That way it can't be messed up by Fireworks or a developer. With buttons in particular I can't just include a portion of the background where the drop shadow would be becuase that button could end up anywhere on the site in the end. One of the features our business offers clients is a fair amount of flexibility on the CMS side of things to move elements around and create new sections of the site so I need to keep most elements as felxible as possible, preferrably without giving up quality of the artwork.
    I feel like I have a fairly solid understanding of why the layer effects act the way they do and how they interact, even if I don't understand fully the math that makes them do what they do. I guess I was hoping that the increasing power in the CS suites, especially in 5 and 5.5 might have made some new work around possible, or that they might have added some feature buried in the menus somewhere because it's not that practicle for many users. I have several ways to work around these issues now, but they are manual and cumbersome, I was hoping there might have been an action script or feature to automate some of this.
    I think a really cool thing to be able to do would be to be able to select some layers and have Photoshop copy them and paste them into a new document with their layer styles and all intact, flatten that document with transparency intact and then put the new flattened file back into the original document in the same location on the artboard as a new layer. This is essentially what I do when I hide all the other layers, merge visible and save as a TIFF or PNG and then copy that new file back into my full PSD document. I still experience some color shifting this way but usually not as drastic as when I try to merge directly in the full PSD. OR if that can't work, even better would be to somehow have the effects be able to "float" with the actual photoshop layer, almost like sub layers of that layer, so that each one could have it's own blending mode (and individual masks for each... that would be awesome!) and you could flatten them together somehow when needed and maintain color tones etc. Don't know if this could work though since I don't know what the limitations of the math process that combines the layers are. I would imagine some of it it would be possible, if not worth their time, since smart objects open in their own document window when you edit. I would imagine that some code work on the back end might be able to be applied using a similar method to give extra flexbility of some layer effects in Photoshop. I would love it, I know that!
    Hopefully there is at least as faster way if not an ideal work around. It defintely adds to the development cycle of a website to have to go through this step. It's also at a point in the development cycle where the site has been approved and there can be added pressure about why they development team still has to wait on a design that has already been OK'd and should be ready to slice. I have gained understanding with my boss about this and it's worked out OK for the most part, but it would certainly make him happier if I could eliminate that extra step, or reduce the time needed. On a complicated website I might lose half a day of work or more sorting out the various site elements and figuring out how much I can flatten and how and what order to break effects off their layers to maintain appearance. I have tried Fireworks several times as a native solution, but ultimately I feel very restricted by Fireworks and often can't do what I had in mind, although it has gotten better. Also on a psychological level, Fireworks "working with basic shapes" method of desigining a website tends to steer me down that mental path for some reason and I always end up with sites that look much less fluid and organi, much more boxy than when I design in Photoshop. One of our companies selling points is that we design sites that break away from the boxy and simpler web 2.0 look so Fireworks is not really a consideration for me at this point. Thanks again for the help and any respones!

  • Suggestion for the next update

    WebOS 1.4.0 had some great improvements...but there is one other improvement I would love to see. If you receive a text message or email with an address, it would be nice to be able to tap and hold the address and have the ability to use that address with Sprint Navigator. This way Sprint Navigator would open automatically and the desired address is already populated. I really hope Palm can add this type of feature.

    Good idea. Suggest using the official palm Feature Request page here. www.palm.com/feedback

  • Suggestion for future Numbers update

    I upgraded to v. 3.5.2.  BUT, I miss the drop down menu that used to be on the lower edge of the startup screen called:  Open Recent or whatever it was.  Now, just like in Excel, I have to close the format screen and go to File to Open Recent.  Please consider re-adding that option from the initial screen.

    This is a user to user forum.
    you could send your feedback to apple: https://www.apple.com/feedback/numbers.html
    You can still access this feature from the startup screen though: (cf photo)
    You can also still use the older version of numbers if you have a Time Machine backup you can recover it from.

  • Nokia C3-01, suggestions for next S/W update

    I am using Nokia C3-01 from 2 weeks. It is nice phone with touch and type combination. I would like to add some suggestions for next software update.
    1.   Brightness control
    2.  When writing a text message, tapping # change only alphabet from capital to lower case, but missing numeric. I have to press 3-4 times to write numeric in text. Also have no 'option' to insert numeric. If I change other language (not English, which is automatic), then I can get numeric by tapping #. Nokia, please care it for next firmware update.
    Solved!
    Go to Solution.

    You can do a long press on the keys to get the numeric value instead of pressing it three to four times. This works for all Nokia since years, if they have keys  
    Or do a long press on the # key. This gives you the option to activate numeric input. Also a quite old feature for Nokia phones.

  • Suggestions for updates?

    I'd like to make a suggestion for the next update.
    Can the the icons at the top of the screen be made to where if u touch them it takes you to the menu to change their status.  Especially the wifi and Bluetooth icons.  These menus are buried and takes several seconds to get to them just to turn them off or on....

    Good ideas, tell Apple at the link below.
    http://www.apple.com/feedback/iphone.html
    Stedman

  • Suggestions for setting up external storage for video editing please?

    I am just starting up as a one-man video-editing business, using a 24 inch iMac running Snow Leopard, with Final Cut Studio. I have realised I'll need an external hard drive for HD footage, and I also need to get some back-up solution in place. Looking for speedy i/o, I would like to connect via the ethernet port (if only eSata was included in the iMac, eh!)
    I've been planning to get a Drobo, but looking around the forums I see that people say it's too slow for using as a working drive to keep all my source footage, so I've been looking at the G-tech 4 Tb, as it says it is designed for media-content production. Does anyone know if I could use two of the drives for working from and two as back up? Or would it be better to keep back-up entirely seperate, and get a Drobo for that for the G-tech to back up to?
    But I am also wondering whether a Mac Mini could be a worthwhile addition to this set up? I find myself sitting around waiting for rendering to complete on clips in my timeline (not to mention exporting to Quicktime conversion!), and I wondered if I put a Mac mini with Xserve installed (Apple store offers this with two 500gb hard drives inside), maybe I could farm the rendering out to the mini while I get on with editing on my iMac? That would require two installations of FCP, which I thought was allowed, but just today in a forum I saw that one would have to be a laptop... anyone have any suggestions for getting rendering done without stopping FCP from doing other things simultaneously?
    Also I don't know if that arrangement is even feasible... I see all these things like Xsan and Artbox... as a one workstation editing suite, does FCP handle all the dataflows for external working drive and external back ups okay without having to introduce more controllers?
    And can anyone explain to me how I could set up an ethernet connection to an external hard drive, or does that require the extra controllers mentioned above? I've seen it said that you can do it via ethernet, but haven't seen how you can actually go about doing it.
    Thanks for overlooking my newbie quality, any answers received with humble gratitude!
    Cheers, Syd

    Hi there,
    as NLEdit said, there will be loads of answers to this.
    IMO i'd avoid drobo like the plague. G tech drives have served me incredibly well working on a huge variety of broadcast projects (just over the water from you in Bristol), I've had no probs with FW800 when using DVCproHD, pro res is ok, sometimes a little slow with multiple layers and of course it eats up storage space. so I'd go for 2 4tb drives, keep the backup one in a different location.
    one tip that has saved me countless times is to format them as follows:-
    mac os extended (not journalled)
    create 2 partitions
    partition 1 - make this small (1gig) and call it "drive a - do not use"
    partition 2 - the rest of available storage and call "drive a"
    this is because the boot sector of the drive is within the first partition and with this method if it goes down it can be re erased without losing all your footage.
    If you call your backup drive the exact same name and have the exact same folder structure, you will not have to relink if you get a problem.
    Ignore getting a mac mini for rendering, won't help at all in FCP. instead I would make every attempt you can at buying a mac pro rather than an imac. much more expansion/speed possibilities and a more robust solution.
    best of luck
    Andy

  • Migrate a Local User Account to a Network Account Shell Script

    http://support.apple.com/kb/HT5338?viewlocale=en_US&locale=en_US
    If you are looking for an easy way to migrate local users to network users without losing data, then try this script.
    Follow steps 1-10 in the support link above before running this script.
    1) Open /Applications/Utilities/Terminal.App
    2) Type vi myscriptname.sh
    3) type "i" to edit the document
    4) Copy and paste the following text in the terminal window
    #!/bin/bash
    echo "Go to http://support.apple.com/kb/HT5338?viewlocale=en_US&locale=en_US"
    echo "Complete steps 1-10 before continuing"
    echo -n "Enter 'USER' and press enter:"
    read USER
    echo -n "Enter 'SERVER' and press enter:"
    read SERVER
    sudo scp -Epr /Users/$USER root@$SERVER:/Users/
    sudo mv -f /Users/$USER /Users/$USER.old
    ssh root@$SERVER sudo chown -R $USER:staff /Users/$USER
    5) hit (ESC) then colon : and type wq! and hit return to save the document
    6) In Terminal type: chmod +x myscriptname.sh
    7) in Finder, Right Click or Control+Click myscriptname.sh and select open with
    8) Select "Show All Applications" and Navigate to /Applications/Utilities/terminal.App
    9) in Finder, Right Click or Control+Click myscriptname.sh and select get info / Open with and click "Change All" to open all .sh files in Terminal
    10) Double Click myscriptname.sh
    11) For USER enter the name of the network account
    12) For SERVER enter your server name (server.example.com)
    13) Enter the Admin Pass for the Local Machine, Then the Server, Then the server again
    14) The user folder will be renamed to user.old (bob.old)
    15) When you login as the network user account OS X Server Will copy your data to the local machine with Portable home directories
    16) Once you verify all the info is there you can delete the user.old folder from the /Users/ folder (bob.old)

    replace sudo scp -epr with sudo rsync -auvth if you do not want to waste space copying hardlinks

  • Does anyone have any suggestions for Ad blocking? I'm getting a lot of pop up ads while using Facebook from Safari.

           I'm getting a lot of pop up ads. mostly while using  Facebook. I'm running Safari on a Macbook Pro running Yosemite. Does anyone have any suggestions for an Ad blocker. I don't see anything in the App store.
          I can't swear to it but I don't recall this being a problem pre-Yosemite. I could be wrong. I haven't been real active on Facebook until recently. I see some third party apps out there but am alway wary of non approved software.
         Thanks
         Ron

    You may have installed the "VSearch" trojan. Remove it as follows.
    Malware is always changing to get around the defenses against it. These instructions are valid as of now, as far as I know. They won't necessarily be valid in the future. Anyone finding this comment a few days or more after it was posted should look for more recent discussions or start a new one.
    Back up all data before proceeding.
    Step 1
    From the Safari menu bar, select
              Safari ▹ Preferences... ▹ Extensions
    Uninstall any extensions you don't know you need, including any that have the word "Spigot," "Trovi," or "Conduit" in the description. If in doubt, uninstall all extensions. Do the equivalent for the Firefox and Chrome browsers, if you use either of those.
    Reset the home page and default search engine in all the browsers, if it was changed.
    Step 2
    Triple-click anywhere in the line below on this page to select it:
    /Library/LaunchAgents/com.vsearch.agent.plist
    Right-click or control-click the line and select
              Services ▹ Reveal in Finder (or just Reveal)
    from the contextual menu.* A folder should open with an item named "com.vsearch.agent.plist" selected. Drag the selected item to the Trash. You may be prompted for your administrator login password.
    Repeat with each of these lines:
    /Library/LaunchDaemons/com.vsearch.daemon.plist
    /Library/LaunchDaemons/com.vsearch.helper.plist
    Restart the computer and empty the Trash. Then delete the following items in the same way:
    /Library/Application Support/VSearch
    /System/Library/Frameworks/VSearch.framework
    ~/Library/Internet Plug-Ins/ConduitNPAPIPlugin.plugin
    Some of these items may be absent, in which case you'll get a message that the file can't be found. Skip that item and go on to the next one.
    The problem may have started when you downloaded and ran an application called "MPlayerX." That's the name of a legitimate free movie player, but the name is also used fraudulently to distribute VSearch. If there is an item with that name in the Applications folder, delete it, and if you wish, replace it with the genuine article from mplayerx.org.
    This trojan is often found on illegal websites that traffic in pirated content such as movies. If you, or anyone else who uses the computer, visit such sites and follow prompts to install software, you can expect more of the same, and worse, to follow.
    You may be wondering why you didn't get a warning from Gatekeeper about installing software from an unknown developer, as you should have. The reason is that the Internet criminal behind VSearch has a codesigning certificate issued by Apple, which causes Gatekeeper to give the installer a pass. Apple could revoke the certificate, but as of this writing has not done so, even though it's aware of the problem. This failure of oversight has compromised both Gatekeeper and the Developer ID program. You can't rely on Gatekeeper alone to protect you from harmful software.
    *If you don't see the contextual menu item, copy the selected text to the Clipboard by pressing the key combination  command-C. In the Finder, select
              Go ▹ Go to Folder...
    from the menu bar and paste into the box that opens by pressing command-V. You won't see what you pasted because a line break is included. Press return.

  • Where can i make a suggestion for a mail feature on a future update?

    I was looking for somewhere to make a suggestion for a future mail feature on the iphone, but couldn't find a place to do it.
    It would be useful to be able to set mail fetching as manual in the evening and timed during the working day so my evenings aren't disturbed by work emails.
    What do you reckon Apple? A feature for the next iOS update?

    http://www.apple.com/feedback
    You are not addressing Apple here.
    You can turn off the mail notification sound each night if you like.

Maybe you are looking for