2011-11-30

SAP GUI 710 显示bug

在我的笔记本windows 7 下发现设置笔记本屏幕为主显示器,外接显示器为第二显示器,选定扩展显示。如果此时把SAP GUI的窗口放到外接显示器上(第二显示器),并且最大化窗口,那么窗口最上方的几个按钮(最小化,最大化和关闭窗口)将不可见。可是如果把外接显示器做为主显示器,把笔记本设定为第二显示器,把SAP GUI窗口放到第二显示器上却没有这样的问题。
SAP GUI的版本信息:
Release: Final Release 710
Dateiversion: 7100.4.16.1046
Build: 1128319
Patch-Level: 16

2011-11-15

Bahncard的变种

手头的Bahncard下周就要到期了,于是打算再买一张新的Banhcard。在网上发现DB在今年6月份就推出了一种新的针对公司客户的Bahncard Business。12月11日之前Bahncard 50 一等车厢是460欧元,此后价格为560欧元。

优点:购买后不会自动延长,一年后自动结束。另外办理这种卡不需要照片。
缺点:价格比普通的Bahncard更贵。更糟糕的是购票时只有持有Bahncard Business才能享受10%的大客户优惠,而以前则是只要使用公司的信用卡支付就可以自动享受购票9折。

2011-11-14

vim读取临时文件出错

在Windows 7 enterprise (64bit)下使用 gvim 7.3 (64bit),安装了taglist插件,把ctags 5.8放到了路径里,每次在编辑窗口中用 :Tlist 打开列表窗口时总会出现错误提示:
Error detected while processing function 14_Tlist_Window_Toogle..14_Tlist_Window_Open..14_Tlist_Window_Refresh..14_Tlist_Window_Refresh_File..14_Tlist_Process_File:
line 83
E484: Can't open file C:\tmp\VIo24EF.tmp

在windwos下定义了TMP变量为C:\tmp,猜想问题应该出在这个临时文件没有正确生产,导致无法读取。使用 :help E484查看帮助,得到解释:

                            *E484* *E485*  >
  Can't open file {filename}
  Can't read file {filename}

Vim cannot read a temporary file.
查看vim手册,得到解释:

Can't open file C:\TEMP\VIoD243.TMP

On MS-Windows, this message appears when the output of an external command was to be read, but the command didn't run successfully.  This can be caused by many things.  Check the 'shell', 'shellquote', 'shellxquote', 'shellslash' and related options.  It might also be that the external command was not found, there is no different error message for that.
ctags 确认是在路径里,所以只能是调用外部命令没有成功执行。查看shell设置(set shell?)得到:
shell=C:\Windows\system32\cmd.exe;C:\users\dingjun.jia\documents\programme\SysinternalsSuite
不知道是自己不小心把环境变量ComSpec定义错了,还是安装SysinternalsSuite套件时,这个变量被修改了。换用了gvim 32bit版本,修正shell设置后,不在出现错误。

windows 7下几个有用的快捷键

  • Ctrl+Shift+N: 在Windows Explorer中创建新文件夹
  • Win + X: 调出windows mobility center,可以更改屏幕显示亮度,声音,无线网络等设置
  • Alt+Up: 在Windows Explorer中向上一级目录跳转
  • Alt+P: Toggles the preview pane in Windows Explorer
  • Shift+Right-Click on a file: 在右键菜单中增加复制文件所在的目录.
  • Shift+Right-Click on a file: Adds extra hidden items to the Send To menu.
  • Shift+Right-Click on a folder: 在右键菜单中增加Command Prompt Here
  • Win+P: 调整显示屏幕输出
  • Win+(+/-): 放大或缩小屏幕
  • alt + space, then n: 最小化当前激活的窗口
  • alt + space, then x: 最大化当前激活的窗口

2011-11-10

Excel 2010下仅显示重复内容

表里有很多数据行,如果仅显示重复行,可以使用如下操作:
conditional formatting ->highlighting duplicate value,然后点击Data菜单下的filter,在filter上选择filter by colour即可。

2011-11-09

SAP PI 7.11 Runtime Workbench

SAP help 页面
PI 7.11 monitoring
http://help.sap.com/saphelp_nwpi711/helpdata/en/48/aeb1925bb5356be10000000a421937/content.htm

PI 7.0 Runtime Workbench
http://help.sap.com/saphelp_nw04/helpdata/en/88/21bc3ff6beeb0ce10000000a114084/content.htm

Runtime Workbench用于监控PI的各个组件的运行情况,包括下列功能:

Component Monitoring

其中包括
Integration Engine
Business Process Engine
Mapping Runtime
Adapter Engine
Proxy Runtime

Message-Monitoring

下面包括
Integration Engine
Adapter Engine
Proxy Runtime

End-to-End-Monitoring


Performance-Monitoring

Index-Administration

SLD-Registrierung

用于注册以下组件到SLD
Adapter Engine
Runtime Workbench
Integration Directory
Intgeration Repository

Configuration

Alert-Konfiguration

定义 alert category 和 alert rule

Alert-Inbox


Cache-Monitoring

监视不同组件的Cache更新状况
Integration Server (ABAP Cache, including cache object: party, communication component, channel, receiver agreement, sender agreement, interface determination, operation mapping, integration process, process component, alert category)

Central Adapter Engine (including cache object: party, communication component, channel, receiver agreement, sender agreement, adapter metadata, SWCV)

Mapping Runtime Cache ( including Cache object: Value mapping group, mapping progam, SWCV, Channel)

2011-11-02

oulook 2010的邮件索引问题

系统windows 7 entreprise (64bit),outlook 2010 (32bit,版本号14.0.6025.100),MS Exchange 2010 mail account。

最近发现search folder下的文件下总不能自动更新,查看被禁用的addin包括windows search Email indexer mssphtb.dll。启用后重启outlook,又自动被禁用。新建了mail profile也无济于事。后来发现问题根本不在这个addin上,因为根据微软的KB http://support.microsoft.com/kb/2385524, 这个addin在outlook 2010里本身就是被禁用的。
After you install Outlook 2010, you may see the Windows Search Email Indexer add-in listed under Disabled Application Add-ins. This behavior is by design.
安装完service pack 1后问题还是存在。

vim下以tab方式打开文件

gvim在windows下安装后,使用edit with vim菜单每次打开一个新文件的默认方式是新开一个窗口。使用edit with existing Vim打开文件使用已存在的窗口,新开一个buffer,不过不是以tab的方式来显示。在不同buffer之间切换还须使用 :b bufferNumber。要把一个buffer以tab的方式显示,可以使用命令:

:tabnew | b 2 (把buffer 2以tab的方式显示)


如果要直接以tab的方式来打开,在 _gvimrc 中添加:
if (&diff==0)
    :autocmd BufReadPost * tab ball
endif
很奇怪,这样虽然能以tab的方式打开文件,可是后打开的文件没有syntax highlight。

改成下面的设置就没问题:
:au BufAdd,BufNewFile,BufRead * nested tab sball
:bn 切换到下一个tab,:bp 切换到上一个tab,gt 在tab之间切换。

2011-10-27

PI useful URLs

PI开发中的常用URL

Design Time

http://<host>:5<sys>00/dir/start/index.jsp Process Integration PI 7.1 tools

http://<host>:5<sys>00/sld/index.html System Landscape Directory (SLD)

http://<host>:5<sys>00/rep/start/repository.jnlp Enterprise Services Repository (ESR)

http://<host>:5<sys>00/rep/support/public/LockAdminService Unlock Enterprise Service objects

http://<host>:5<sys>00/dir/start/directory.jnlp Integration Directory(ID)

http://<host>:5<sys>00/sr Service Registry(SR)

Runtime

http://<host>:5<sys>00/rwb Runtime Workbench(RWB)

http://<host>:5<sys>00/nwa Local SAP Netweaver Administrator (NWA)

http://<host>:5<sys>00/nwa/quicklinks NWA Quicklinks

http://<host>:5<sys>00/nwapi Central SAP Netweaver Administrator (Visual Admin in XI)

http://<host>:5<sys>00/index.html Netweaver Application Server Java

http://<host>:5<sys>00/CPACache CPA Cache Monitoring

http://<host>:5<sys>00/CPACache/refresh?mode=delta Delta CPA Cache refresh

http://<host>:5<sys>00/CPACache/refresh?mode=full Full CPA Cache Refresh

http://<host>:5<sys>00/mdt Message Display Tool (MDT)

http://<host>:5<sys>00/mdt/channelmonitorservlet Communication channel Monitoring

http://<host>:5<sys>00/mdt/amtServlet Adapter Monitoring

http://<host>:5<sys>00/AdapterFramework/admin/channelstatus.jsp Communication channel Status

http://<host>:5<sys>00/MessagingSystem Message Display Tool

http://<host>:5<sys>00/MessagingSystem/monitor/sequenceMonitor.jsp EOIO Sequence monitor

http://<host>:5<sys>00/MessagingSystem/monitor/systemStatus.jsp Message Queue monitor

http://<host>:5<sys>00/TREX/Monitor TREX Application

http://<host>:5<sys>00/rwb/rtc?op=init Re-Initialize Runtime Workbench
其它:
http://<host>:5<sys>00/utl/UsageTypeInfo  information about useage types

2011-10-21

短途行车导致电池电量不足

上周六车子(BMW E61)显示电池电量不够(erhöte Battrieentladung, Battrie stark entladen)。周一约了个时间,今天去Dreieich的BMW店把车子送过。维修人员上来就问车子开的是否频繁,答曰每周约100公里。对方马上就说车开的太少了,导致电池充电不够,太短距离的行车根本不能给电池充上足够的电,发而会让电池发电,最后导致电瓶电量不够。

去之前google了一下这个问题,网上大部分的讨论都是说电池出问题的可能性很大。我提出给检查一下是否电池有问题,如果有问题,就换一个吧。维修人员先开出了一个检查费用报价,含税155.17欧元。这仅仅是检查的费用。一个电池含税价要215.07欧元(Teilenummer: 61 21 8 381 768),不知道是AGM还是GEL电池,也不知道是多少安培的。这还不包括安装电池的费用,据说如果新换了电池还要在车载电脑Energiemanagement里重新注册一下才能给新电池正常充电。维修人员建议购买一个充电器,定期给电池充电,解决短途行车导致电池充电不够的问题。BMW提供的充电器(Teilenummer: 61 43 2 153 788)的含税价格刚好100欧元(看工作人员电脑显示物料管理用的是SAP)。所有的费用Europlus Garantie都不管,得自掏腰包。


网上的一个讨论:
ca. 30 min bis 1 Std sollten zum Aufladen der Batterie in Ordnung sein. Eine durchschnittliche Lima liefert ca. 50-80 Ampere, Licht, dicke Anlage und Heckscheibenheizung aus, bleiben noch die Verbraucher zur Funktion der Motorsteuerung, sagen wir...10 Ampere, grosszügig bemessen.
Eine durchschnittliche Batterie hat eine Kapazität von ca. 36 - 80 Amperestunden. Einfache Rechnung:
36 Ah Batterie,
80 Ampere Lichtmaschine - 10 Ampere Verbraucher...Ergo 70 Ampere...
Dann ist die Batteie theoretisch in ner halben Stunde voll.
Bei normalem Fahrbetrieb z.B- täglich 15 Km zur Arbeit sollte mit der Leistungsfähigkeit der Batterie nix passieren. Wenn Du aber mit dem Auto nur ins Dorf zum Einkaufen fährst, wohlmöglich noch bei kalten Temperaturen, Heckscheibe und Licht an, hat die Batterie keine Chance vernünftig geladen zu werden.
Wenns das alles nicht ist, sollte vielleicht mal ne neue Batterie her. Manche geben nach drei Jahren den Geist auf, andere wiederum halten 3x so lange. Da steckt man halt nicht drin. 


2011-10-20

BWM E60/E61 隐藏菜单

在网上看到宝马的E60/E61系列的iDrive里有一个隐藏的菜单,在这个隐藏菜单里可以看到当前运行的各种软件的版本。进入菜单的方法如下:

Grundmenü am Bordmonitor einschalten
Controllerknopf 10 sec gedrückt halten
3 mal rechts
3 mal links,
1 mal rechts
1 mal links
1 mal rechts
1 mal drücken
fertig

一会儿左三圈,一会儿右三圈,感觉跟开个保险箱似的 :)

2011-08-24

download SAP Netweaver Development studio


SAP Netweaver Development studio

https://nwds.sap.com/swdc/downloads/updates/netweaver/nwds/ce/

OSS user required

用firefox浏览器下载超过1G的文件还是不太可靠,到快下载完时程序容易死掉,最好还是用wget。

wget  --user=USER --password=PWD  --no-check-certificate  https://nwds.sap.com/swdc/downloads/updates/netweaver/nwds/ce/710/NWDS_platform.zip

2011-08-05

Android启动时间过长

不知道是上次摔了一下手机,还是安装了某个或某些程序,启动GT-9000时间太长了。有时半个小时都不一定能完成启动能输入PIN,进入能打电话的状态。这要是赶上紧急情况,只能把人急死,把手机砸碎。虽然不能进入登陆界面,不过还好能连接到adb。用Android SDK下的ddms查看了一下启动日志信息,发现无法启动是因为系统一直在等待一个名为media.audio.flinger的服务。

08-05 09:08:53.396: ERROR/ServiceManager(2850): set property for kill mediaserver process
08-05 09:08:53.396: INFO/ServiceManager(2850): Waiting for sevice media.audio_flinger...
08-05 09:08:54.398: ERROR/ServiceManager(2850): set property for kill mediaserver process
08-05 09:08:54.400: INFO/ServiceManager(2850): Waiting for sevice media.audio_flinger...:

杀掉这个等待进程后又进入下一次循环,最后又处于黑屏等待状态。希望能尽快解决这个问题。

2011-07-28

命令行工具puttycyg

一直舍不得linux下的命令行工具,所以在笔记本上都一直装了cygwin。cygwin自带的命令行界面有太多不方便的地方,于是一直都是装了open ssh server,然后用putty登陆本机获得命令行界面。以前一直都可以用pageant加载私钥登陆不用输入密码。可是自从笔记本升级到windows 7,登陆windows的用户变为域用户之后,用pageant加载私钥登陆总是失败。为了不用输入密码获得命令行界面用了一下puttycyg,基本和 putty一样,只是多了一个connection type选项 cygterm,在命令行填入bash,port选项不用填就可登入。

2011-07-07

PI lookup use缺少权限

PI lookup user 在SAP ECC里不能读表LFBK,得到错误权限不够。查看LFBK的authorization group为FA,在表TBRG里查找到相应的 authorization object为S_TABU_DIS。

The table that contains all authorization objects is TOBJ.
The table that contains all activities is TACT.
The table that contains definition of all authorization groups is TBRG.

使用表AGR_USERS查找用户的role。查看一个authorization role 包含哪些authorization object,使用表 AGR_1251

2011-05-15

SAP NetWeaver Process Orchestration

SAP NetWeaver BPM
SAP NetWeaver BRM
SAP NetWeaver PI
三者合起来就是SAP NetWeaver Process Orchestration?

2011-05-02

PI message mapping editor shortcut

PI 7.0下的graphic message mapping editor下按住contro + shift,点击鼠标右键,有更多隐藏选项。更强大的快捷组合键是:control + shift + 0

2011-03-28

debug su01

se93,输入su01,得到su01的program名SAPMSUU0。然后se38,输入程序名,进入debugger。然后在debugger中设置断点,方法如下:
breakpoints -> breakpoints at ->breakpoints at Subroutine,在Program处填入saplsuu0,在Fmla处填入auth_check。

2011-01-20

解决jdownloader窗口不能选择正确的显示器

在办公室把笔记本和另外一个显示器连了起来,把笔记本设置为主显示器,画面扩展到大的显示器上。问题出在当把笔记本与外接显示器断开时,启动jdownloader后,jdownloader窗口不能正常显示在笔记本的屏幕上,似乎“显示”在已经没有连接的外接显示器上。鼠标移动到任务栏的图标上,可以看到窗口的缩略图,可就是不能把窗口拽回来。上次就遇到过这样的情况,当时刚好遇上电视开着,就把笔记本与电视连了起来,把窗口拽了回来。这次从办公室回来又发生这样的情况,以为重启启动一下电脑会解决这个问题。没想到重启后还是同样的问题,只好另寻出路。试了一下,这个方法管用。将鼠标移到任务栏的图标上,显示程序缩略图,然后单击右键出现菜单,选择移动,此时千万不要移动鼠标,而是移动左方向键,窗口就回来了!

这个问题好像和java有关,因为上次用的SAP download manager也是用java写的,也有同样的问题。

2011-01-15

XSLT 1.0处理分组

在处理一个接口映射时遇到需要分组的问题,因为发送方使用JDBC adapter从数据库抽取数据,SAP PI得到的数据结构为:
<row>
<column1/>
<column2/>
<column3/>
</row>
其中column1,column2,column3是JDBC adapter中SQL查询语句里select的表列。
这个问题通过graphic mapping的node function估计应该能解决,但没有例子和好的文档就先放弃了,改用XSLT来实现。现在读取出来的数据中有一列为INVOCIE_ID,同一个INVOICE下有多个line_item。为每一个INVOICE _ID应生成一个IDoc,所有具有相同INVOICE_ID的line_item要映射到同一个IDoc下。如果环境支持 XSLT 2.0,可以很方便的使用group-by解决分组的问题。试了一下SAP PI环境不支持group-by语句,只能使用XSLT 1.0支持的语句。一个名为Muenchian的方法颇为有名,使用了xsl:key语句和key函数,提高了XSLT处理分组的性能。一个简化的例子:
XML 源文件
<?xml version="1.0" encoding="UTF-8"?>
<MT_PTP_PURCHASEINVOICE>
    <row>
        <INVOICE_ID>12</INVOICE_ID>
        <INVOICE_CURRENCY>EUR</INVOICE_CURRENCY>
        <LINE_NUMBER>1</LINE_NUMBER>
    </row>
    <row>
        <INVOICE_ID>12</INVOICE_ID>
        <INVOICE_CURRENCY>EUR</INVOICE_CURRENCY>
        <LINE_NUMBER>2</LINE_NUMBER>
    </row>
    <row>
        <INVOICE_ID>13</INVOICE_ID>
        <INVOICE_CURRENCY>EUR</INVOICE_CURRENCY>
        <LINE_NUMBER>1</LINE_NUMBER>       
    </row>
   <row>
        <INVOICE_ID>13</INVOICE_ID>
        <INVOICE_CURRENCY>EUR</INVOICE_CURRENCY>
        <LINE_NUMBER>2</LINE_NUMBER>
    </row>
</MT_PTP_PURCHASEINVOICE>
XSLT 表单
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output indent="yes"/>
    <xsl:key name="mykey" match="row" use="INVOICE_ID"/>
    <xsl:template match="/">
        <doc>
            <xsl:for-each select="//row[count(. | key('mykey', INVOICE_ID)[1]) = 1]">
                <xsl:sort select="INVOICE_ID"/>
                <invoice>
                    <INVOICE_ID>
                        <xsl:value-of select="INVOICE_ID"/>
                    </INVOICE_ID>
                    <items>
                        <xsl:for-each select="key('mykey', INVOICE_ID)">
                            <xsl:sort select="LINE_NUMBER"/>
                            <line>
                                <xsl:value-of select="LINE_NUMBER"/>
                            </line>
                        </xsl:for-each>
                    </items>
                </invoice>
            </xsl:for-each>
        </doc>
    </xsl:template>
</xsl:stylesheet>

2011-01-11

XSLT下填充空白字符

今天遇到一个问题需要对一些字符串进行操作,以保证字符串达到给定的长度。如果字符串长度不够则在字符串后面添加空白字符来补齐。刚开始的想法是用给定的长度(m)减去字符串的长度(n),然后在字符串后面添加(m-n)个空白字符。不过去构造这(m-n)个空白字符还要额外想办法。google了一下xslt padding,更简洁的办法是添加超过给定长度的空白字符,然后用substring去取指定长度的字符串即可。同一个问题换一个思路方便多了。

如果要常用到,定义一个template,带两个参数。
<xsl:template name="pad">
<xsl:param name="str"/>
<xsl:param name="len"/>
<xsl:variable name="spaces"><xsl:text>                           </xsl:text></xsl:variable>
<!-- <xsl:text>在这里很重要,避免空白字符被过滤掉 -->
<xsl:value-of select="substring(concat($s, $spaces), 1, $len)"/>
</xsl:template>

需要时调用这个template即可:
<xsl:variable name="var">
<xsl:call-template name="pad">
<xsl:with-param name="str" select="concat(firstname, ', ', name)" />
<xsl:with-param name="len" select="10" />
</xsl:call-template>
</xsl:variable>

更灵活一些的template,'padVar' 是要填充的字符, 'length' 是给定的长度。
在前面插入,右对齐:
<xsl:template name="prepend-pad">
<!-- recursive template to right justify and prepend-->
<!-- the value with whatever padChar is passed in   -->
<xsl:param name="padChar"> </xsl:param>
<xsl:param name="padVar"/>
<xsl:param name="length"/>
<xsl:choose>
<xsl:when test="string-length($padVar) &lt; $length">
<xsl:call-template name="prepend-pad">
<xsl:with-param name="padChar" select="$padChar"/>
<xsl:with-param name="padVar" select="concat($padChar,$padVar)"/>
<xsl:with-param name="length" select="$length"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring($padVar,string-length($padVar) - $length + 1)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

在后面插入,左对齐:
<xsl:template name="append-pad">    
<!-- recursive template to left justify and append  -->
<xsl:param name="padChar"> </xsl:param>
<xsl:param name="padVar"/>
<xsl:param name="length"/>
<xsl:choose>
<xsl:when test="string-length($padVar) &lt; $length">
<xsl:call-template name="append-pad">
<xsl:with-param name="padChar" select="$padChar"/>
<xsl:with-param name="padVar" select="concat($padVar,$padChar)"/>
<xsl:with-param name="length" select="$length"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring($padVar,1,$length)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

2011-01-10

galaxy s 的几个常用按键操作

拿着galaxy s手机还没翻看过说明书,不知道这里列出的按键操作是否在说明书中已被提及。
  • 快速重启:同时按住 加大音量和电源键 5秒钟。这样不必按住Power键,选择关机,然后再按Power开机。
  • 调出搜索框:长按住菜单键
  • 切换任务:长按住Home键
  • 在联系人里,往右滑动,拨打联系人电话,往左滑动,发送短信

2011-01-06

启动android SDK manager

Samsung的galaxy s到了,免不了要折腾一下。在笔记本上装了android的SDK,选择的是推荐的installer安装文件。安装完后竟然不能启动SDK manager。点击后没有任何反应,在命令行下执行android.bat update sdk得到错误提示:
'java -jar lib\archquery.jar' is not recognized as an internal or external command,
operable program or batch file.
ERROR: SWT folder '' does not exist.
Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.
google了一番,禁用了windows 7的UAC,用管理员权限执行命令,都是同样的结果。既然变量ANDROID_SWT没有被赋正确的值,直接在
for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
后面加上了:
set swt_path=lib\x86_64

在执行android.bat得到错误提示就比较有帮助了:
Cannot load 64-bit SWT libraries on 32-bit JVM
因为windows操作系统是64位的,而我装的JDK是32位,为了运行SAP PI 7.0的客户端,因此64位的swt.jar不能加载。修改为:set swt_path=lib\x86 就能正常启动了。

新手机Samsung Galaxy I9000的版本

新手机到手后先用Samsung的Kies更新到到了Anroid 2.2。键入*#1234#得到firmware信息:
PDA: I9000BOJPB (This is android and all the applications that come with it.)
PHONE: I9000BOJP3 (This is the firmware of the wireless chipset of the device and will operate you WiFi, Blutooth and 3G/2G/GSM connections. 这就是常说的Radio ROM)

CSC: I9000GDTMJP6 (Customer Specific Customization)
build info: 2010.11
这个在刷机的时候检查版本会用到。

soft reset: 按住机身右边电源键
hard reset:按住 VolumeUP+Home+Power,选择“wipe data/factory reset”,恢复到默认设置 (我的手机的这个组合键好像被禁用了,不管用!)

*#1234# : SW Version
*#2222# : HW Version
*#0842# : Vibrator Test
*#0289# : Buzzer Test
*#0228# : Battery Statue

2011-01-04

导入以前的posts

圣诞节前就把wordpress里的帖子导出来,并用wordpress2blogger转换成了blogger的格式,可是在导入时遇到一个问题:页面一直在显示导入的进度条,也不给出任何出错信息。用不同的浏览器在不同的时间去导入帖子都是同样的问题,请教了一个也把wordpress转换到blogger朋友还是没有解决问题,于是把这个事先搁了下来。今天突然想起用我的另外一个google account来创建一个blogger帐号来测试一下。不想在新的blogger账户下导入没有遇到任何问题。原来这个问题和我在同一个google account下有多个blogger账户有关。我其中的一个blogger账户里已经包含部分将导入的帖子,因此导入就不能完成。这应该是导入程序会检测在这个google account下的所有blogger账户里是否包含要导入的帖子,如果有,则导入停止。值得改进的是,应该给出一个对用户更友好的信息。